Mapbox API支持对请求进行地理编码,但我总是用英语获得结果。我希望能够以特定的语言获得结果。
对于Mapbox.js API,可以用不同的语言显示地图(通过更改样式),但我找不到正确翻译地理编码请求的方法。
例如,如果我通过城市'绅士',我希望看到它在省Oost-Vlaanderen和国家België。但是,我得到'Gent,Oost-Vlanderen,比利时'。 这可以通过以下请求完成:https://api.mapbox.com/geocoding/v5/mapbox.places/Gent.json?country=be&access_token=MYACCESSTOKEN
有没有办法获得正确翻译的结果?也许使用设置或额外参数?
答案 0 :(得分:2)
我在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显示为根特。
答案 1 :(得分:1)
看起来已经实施了解决方案!
只需传入初始化对象的语言字段,如下所示:
ocsp.enable=true
从这些文档中获取:https://github.com/mapbox/mapbox-gl-geocoder/blob/master/API.md#mapboxgeocoder