我正在尝试自定义 Skobbler map 以制作公共(public)交通 View 。我找到了一些相关的 POI ID,并使它们在各种缩放级别上可用(并更改了相关的配置设置,以便为这些缩放级别设置正确的图标/文本)。但当我缩小时,兴趣点逐渐消失,并且在所有兴趣点消失之前我无法将其接近真正缩小的水平。
我尝试将其与确实保持可见的 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(按“重要性”顺序,从左到右)。
您需要将 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)
关于skmaps - Skobbler 如何确定要显示的 POI 的优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32572108/