我看到MapBox提供了地理编码服务。无论如何,美国城市似乎优先考虑。如果我正在寻找一个城市,当我开始写作时,首先显示的城市是美国人。 有没有办法将搜索限制在一个特定的国家/州?
答案 0 :(得分:3)
最近在Mapbox地理编码API中添加了proximity
参数,允许您将结果偏向指定的经度和纬度位置。像这样使用它:
http://api.tiles.mapbox.com/v4/geocode/{index}/{query}.json?proximity={longitude},{latitude}&access_token={access_token}
例如,要获得伦敦,加拿大而不是伦敦,英国的最高成绩:
http://api.tiles.mapbox.com/v4/geocode/mapbox.places/London.json?proximity=-81,42&access_token={access_token}
有关详细信息,请参阅API文档的Forward geocoding with proximity部分。
无法将查询限制在特定国家/地区,但您可以过滤结果,以确保只查看来自某个国家/地区的"text"
或"context"
部分内容
关于您对默认结果的担忧 - 美国城市在Mapbox地理编码API中没有优先权。但是,由于目前有更详细的数据,您可能会看到某些国家/地区的更多结果。地理编码API文档的“覆盖范围”部分提供有关哪些国家/地区和结果类型具有更多详细信息的信息。 (数据和该列表定期更新。)
答案 1 :(得分:1)
目前还没有,但Mapbox的地理编码器正在积极开发中,这可能是他们正在开发的功能。
答案 2 :(得分:0)
您可以将地理编码请求限制为国家/地区,如Geocoding request format。
中所定义国家/地区(可选)
将结果限制在一个或多个国家/地区。选项是以逗号分隔的ISO 3166 alpha 2国家/地区代码。
所以说你想将结果限制在西班牙,你只需将查询参数添加为?country=ES