I am trying to customize the Skobbler map to make a public transport view. I have found some of the relevant POI IDs, and made them available on the various zoom levels (and changed the relevant configuration-settings, so that the correct icon/text is set for those zoom levels). But as I zoom-out, the POIs gradually disappear, and I am not able to make it nearly to the really zoomed-out levels before all of them are gone.
I tried to compare it to POIs who are indeed staying visible - f.ex. cities, and tried to find out why they are able to take precedence, while my metro stations disappear. The only thing I see in the configuration that I cannot replicate, is a population-setting - but I don't know if that is relevant. I also tried to play with the priority-setting, but seemingly with no effect (maybe I am using it the wrong way).
If anyone has any pointers to give, it would be appreciated.
I'm assuming that you are editing the style file directly.
In the style file, you need to modify the "zoom" section: I.e.
{
"3dzoomfactor" : 1.0,
"attribute" : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 20, 40, 41, 42, 43, 44 ],
"level" : 10,
"maxFC" : [ 3, 3, 3, 2 ],
"poi" : [ 69, 211, 223, 197, 193, 418, 382, 383, 82, 32, 416, 417 ],
"road" : [ 9, 10, 24, 25, 5, 13, 17 ],
"shape" :
[
1016,
1015,
1031,
1027,
1030,
1151,
1152,
1005,
1029,
1026,
1013,
1003,
1021,
1002,
1012
],
"worldtexture" : [ false, false, true, true ]
},
describes what is shown at zoom level 10. In the POI section, you see what POIs will be rendered (in order of "importance", from left to right).
You would want to add the id 198 to this enum (198 being the ID of the "subway_entrace" element), something like:
"poi" : [ 69, 211, 223, 197, 193, 418, 382, 383, 82, 32, 416, 417, 198 ],
You also need to make sure that you have a definition for this POI at the zoom levels where it should be visible. For example the subway_entrance POI only has a definition starting from zoom level 17:
{
"category" : "transport",
"categoryid" : 9,
"id" : "198.17",
"name" : [ "subway_entrance", "subway_station" ],
"point" :
{
"fill" :
{
"color" : "AAAAAA",
"size" : 6.0
},
"icon" :
{
"spacing" : 0.0,
"texture" : 1126
}
},
"priority" : 10,
"text" :
{
"title" :
{
"color" : "221c1590",
"fontid" : [ 3, 3, 3, 3 ],
"outlinecolor" : "f4f1ece4"
}
}
},
{
"id" : "198.18"
},
We need to change the above definition to start from a lower zoom level - i.e. change from "id" : "198.17"
, to "id" : "198.10",
This being said, the rendering algorithm will still have to decide what it will render in a particular area (roads/shapes/POIs) so it might choose not to render that particular POI (this is something you cannot really control). Even inside one zoom level (same definition) the POI might appear or not (see the below screenshots, both at zoom level 16)
All subway entrances are visible: Only some subway entrances are visible, although the same style applies across the whole zoom level 16