Mapbox API支持对请求进行地理编码,但我总是得到英文版本的结果。我希望能够用一种特定的语言得到结果。
对于Mapbox.js应用编程接口,可以用不同的语言显示地图(通过更改样式),但我找不到一种方法来正确转换地理编码请求。
例如,如果我经过城市'Gent',我希望看到它在Oost-Vlaanderen省和België国家。然而,我得到的是'Gent,Oost-Vlanderen,比利时‘。这可以使用如下请求来完成:https://api.mapbox.com/geocoding/v5/mapbox.places/Gent.json?country=be&access_token=MYACCESSTOKEN
有没有办法得到正确的翻译结果?也许使用了设置或额外的参数?
发布于 2016-06-17 12:48:16
我在Streets-v8中看到的本地化名称(可能在mapbox.places中)是name_en、name_es、name_fr、name_ru和name_zh。
这看起来你需要向Mapbox提交一个功能请求,至少你可以支持name_fr。
我喜欢使用Mapbox Command Line Interface来查看Mapbox查询的响应。此特定查询给出的响应为"place_name": "Gent, Oost-Vlanderen, Belgium",
mapbox-cli> mapbox geocoding 'Gent' --country be 我也在查询中尝试了Ghent,但仍然收到英文
该镇在Mapbox language switch example中显示为根特。
发布于 2018-03-22 23:04:37
看起来已经实现了一个解决方案!
只需在初始化对象上传入一个语言字段,如下所示:
var geocoder = new MapboxGeocoder({ language: 'es' }); //change lang to spanish从这些文档中获得:https://github.com/mapbox/mapbox-gl-geocoder/blob/master/API.md#mapboxgeocoder
https://stackoverflow.com/questions/37864104
复制相似问题