I am using Fedora 20, Marble reports 1.7 using KDE 4.12.2. Setup: I put the dgml file into the openstreetmap folder, the kml file goes in the placemarks folder, and the Rabet goes in the bitmaps folder. Launch Marble for the first time, and you will see a yellow push pin.(firstlaunch.jpg) Close Marble. Open Marble for the second time. Rabet is no longer a yellow push pin, Rabet is simply a yellow dot.(secondlaunch.jpg) How to correct: At the directory: /home/user/.local/share/marble/placemarks/ simply delete the file Rabet_local.cache and the yellow push pin will return the next time the program is opened. The cache file needs to be deleted prior to every launch in order to have proper operation of points of interest. Reproducible: Always Steps to Reproduce: 1. Place the files in the appropriate directories 2. Launch Marble 3. Close Marble 4. Launch Marble again Actual Results: Designated point of interest bitmaps only appear on the first launch Expected Results: Designated point of interest bitmaps should properly appear every time the program is launched, without having to hunt down and delete .cache files. The ability to toggle KML files independently within dgml is a fairly new feature, this problem makes that feature much less useful the more points of interest appear on screen. Imagine a few hundred yellow dots on screen in a relatively small area without a color coding or shape variance for identification.
Created attachment 86120 [details] Zipped up dgml, kml, and png files
Created attachment 86121 [details] Now you see it
Created attachment 86122 [details] Now you don't
This should be fixed in Marble 1.8 (KDE 4.13). Do you have a chance to upgrade to that or a later version? The reason for the behavior is the following: When opening the .kml file, Marble automatically creates a corresponding .cache file to speed up loading that file in the future (.cache files are smaller and much faster to read). Unfortunately the .cache format supports just a very small subset of KML features, icons not being among them. Since Marble 1.8 we have changed that behavior: When a .dgml provides a .kml file, it is loaded and no .cache file is created anymore (instead .cache files are shipped directly now where needed). The nice side effect of this change is that it will fix your problem.
I do not see this anymore in Marble 1.8.