动态位置标签过滤
Dynamic place label filtering
我正在制作一张同时显示本地名称和翻译后的地名(例如“德国”和“德国”)的地图。 http://www.svexit.com/realnameatlas.html 上发布了一个非常粗略的 Mapbox 原型,但我愿意尝试使用 Mapzen、Google 地图或其他
我正在尝试找出是否有可能/最好的方法来动态过滤掉相同的地点标签(例如,英语中的“英国”仍然是“英国”或“汉堡” ,没有单独的英文翻译,但有俄文、法文、西班牙文和中文的翻译)。目标是利用现有的翻译,而不是维护我自己的单独数据集。
谢谢!
我相信这个 Mapzen 博客 post 展示了与 Tangram 类似的内容:
https://mapzen.com/blog/languages-of-india/
因为名称数据是作为 JavaScript 对象处理的,所以您应该能够在绘制标签之前过滤掉任何重复项。
感谢 meetar 为我指明了正确的方向(以及一些额外的探索以检查 "undefined"),我能够使用以下方法抑制未定义的英语标签:
text_source: |
function() {
if (typeof feature["name:en"] === "undefined") {
return feature["name"];
}
else {
return feature["name"] + '\n(' + feature["name:en"] + ')';
}
}
我正在制作一张同时显示本地名称和翻译后的地名(例如“德国”和“德国”)的地图。 http://www.svexit.com/realnameatlas.html 上发布了一个非常粗略的 Mapbox 原型,但我愿意尝试使用 Mapzen、Google 地图或其他
我正在尝试找出是否有可能/最好的方法来动态过滤掉相同的地点标签(例如,英语中的“英国”仍然是“英国”或“汉堡” ,没有单独的英文翻译,但有俄文、法文、西班牙文和中文的翻译)。目标是利用现有的翻译,而不是维护我自己的单独数据集。
谢谢!
我相信这个 Mapzen 博客 post 展示了与 Tangram 类似的内容:
https://mapzen.com/blog/languages-of-india/
因为名称数据是作为 JavaScript 对象处理的,所以您应该能够在绘制标签之前过滤掉任何重复项。
感谢 meetar 为我指明了正确的方向(以及一些额外的探索以检查 "undefined"),我能够使用以下方法抑制未定义的英语标签:
text_source: |
function() {
if (typeof feature["name:en"] === "undefined") {
return feature["name"];
}
else {
return feature["name"] + '\n(' + feature["name:en"] + ')';
}
}