动态位置标签过滤

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"] + ')'; 
                        }
                    }