我正在使用 Mapbox GL JS 显示地图上标记的某些位置。 我需要通过 JavaScript 代码设置位置并且我不知道纬度和经度坐标,我只有字符串形式的地址(例如:“地址、城市、国家/地区”或某种类似的格式)。
我在互联网上搜索了很多,但我发现在 Mapbox GL JS 中执行此操作的唯一方法是使用 Geocoder 输入控件,但我不想通过它输入位置,我想设置地址通过代码,然后在地图加载时将其标记在地图上。
是否可以在 Mapbox GL 中执行此操作而不知道纬度和经度坐标?我怎样才能做到这一点?
提前致谢!谨致问候!
您可以使用 Mapbox Geocoding API,无需 Geocoder 控件。您必须编写您的网址(并对其进行编码)。
始终考虑根据您的参数,您可能会在 featureCollection 响应中获得多个结果,因此最后您必须使用允许的一些属性(例如
proximity
和 limit
)来细化结果。一开始是一些尝试和错误的任务,但经过一些练习后,它是相当准确的。
123 Main St Boston MA 02111
的示例网址,仅过滤美国的结果。
https://api.mapbox.com/geocoding/v5/mapbox.places/123%20Main%20St%20Boston%20MA.json?country=US&access_token=PASTE_YOUR_TOKEN_HERE