MapBox GL JS:从通过代码设置的字符串地址获取纬度和经度坐标

问题描述 投票:0回答:1

我正在使用 Mapbox GL JS 显示地图上标记的某些位置。 我需要通过 JavaScript 代码设置位置并且我不知道纬度和经度坐标,我只有字符串形式的地址(例如:“地址、城市、国家/地区”或某种类似的格式)

我在互联网上搜索了很多,但我发现在 Mapbox GL JS 中执行此操作的唯一方法是使用 Geocoder 输入控件,但我不想通过它输入位置,我想设置地址通过代码,然后在地图加载时将其标记在地图上。

是否可以在 Mapbox GL 中执行此操作而不知道纬度和经度坐标?我怎样才能做到这一点?

提前致谢!谨致问候!

javascript geolocation location coordinates mapbox
1个回答
2
投票

您可以使用 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

这将返回马萨诸塞州的 5 条街道。

我建议您阅读正向地理编码中的文档,以及有关地址地理编码格式的部分,以正确组成网址。

© www.soinside.com 2019 - 2024. All rights reserved.