Skobbler 如何优先显示哪些 POI?

How does Skobbler prioritize which POIs to show?

我正在尝试自定义 Skobbler 地图以制作 public 运输视图。我找到了一些相关的 POI ID,并使它们在各种缩放级别上可用(并更改了相关的配置设置,以便为这些缩放级别设置正确的 icon/text)。但是当我缩小时,POI 逐渐消失,而且我无法在它们全部消失之前接近真正缩小的水平。

我试图将它与确实保持可见的 POI 进行比较 - f.ex。城市,并试图找出为什么他们能够优先,而我的地铁站却消失了。我在配置中看到的唯一无法复制的是人口设置——但我不知道这是否相关。我也尝试过设置优先级,但似乎没有效果(可能我用错了)。

如有指点,不胜感激

我假设您正在直接编辑样式文件。

样式文件中,需要修改“zoom”部分: IE。

          {
            "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 ]
        },

描述缩放级别 10 时显示的内容。 在 POI 部分,您会看到将呈现哪些 POI(按 "importance" 从左到右的顺序)。

您可能希望将 ID 198 添加到此枚举(198 是 "subway_entrace" 元素的 ID),例如:

"poi" : [ 69, 211, 223, 197, 193, 418, 382, 383, 82, 32, 416, 417, 198 ],

您还需要确保在该 POI 应该可见的缩放级别上定义了该 POI。例如 subway_entrance POI 只有从缩放级别 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"
        },

我们需要更改上述定义以从较低的缩放级别开始 - 即从 "id" : "198.17" 更改为 "id" : "198.10",

话虽如此,渲染算法仍然必须决定它将在特定区域渲染什么 (roads/shapes/POIs),因此它可能会选择不渲染该特定 POI(这是您无法真正控制的) ). 即使在一个缩放级别(相同的定义)内,POI 也可能出现或不出现(参见下面的屏幕截图,均在缩放级别 16)

所有地铁入口都可见: 只有一些地铁入口可见,尽管相同的样式适用于整个缩放级别 16