Skobbler如何优先考虑要显示哪些POI?

时间:2015-09-14 19:07:20

标签: skmaps scoutstyleeditor

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

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

如果有人有任何指示,我们将不胜感激。

1 个答案:

答案 0 :(得分:2)

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

在样式文件中,您需要修改“ zoom ”部分: 即

          {
            "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(按照“重要性”的顺序,从左到右)。

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

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

您还需要确保在缩放级别有可见的此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",

这就是说,渲染算法仍然必须决定它将在特定区域(道路/形状/ POI)中呈现什么,因此它可能选择不渲染该特定POI(这是您无法真正控制的)。 即使在一个缩放级别(相同的定义)内,也可能出现POI(参见下面的截图,两者都是缩放级别16)

所有地铁入口均可见: All subway entrances are visible 只有一些地铁入口可见,但整个缩放级别16都采用相同的风格 Only some subway entrances are visible, although the same style applies across the whole zoom level 16