mapbox - 如何使用 Mapbox 的 Geocoder API 搜索靠近用户当前位置的地址?
问题描述
我正在使用 Mapbox Geocoder API 来搜索地址:
https://api.mapbox.com/geocoding/v5/mapbox.places/${this.searchKeyword}.json?country=us&access_token=${this.accessToken}
它工作得很好,但我希望它搜索靠近我用户当前位置的地址(我有 lat long)。现在它给了我在国家另一边的结果。
所以像
https://api.mapbox.com/geocoding/v5/mapbox.places/${this.searchKeyword}.json?country=us&access_token=${this.accessToken}&near=123.456, 121.654
解决方案
请参阅Mapbox Geocoding API 文档,它将proximity
参数描述为
根据提供的位置偏向本地结果。选项是经度,纬度坐标。
因此,在 JavaScript 中,您可以将 URL 形成为:
https://api.mapbox.com/geocoding/v5/mapbox.places/${query}.json?country=${country}&access_token=${accessToken}&proximity=${nearLongitude},${nearLatitude}
如果您在 JavaScript 中执行此操作,则可以使用Mapbox JS SDK,请参阅地理编码服务。
如果您在网络上执行此操作并使用Mapbox Geocoder 控件,则有一个proximity
选项和一个trackProximity
选项可以根据当前地图视图自动设置接近度。
推荐阅读
- flutter - Flutter & Dart:如何检查/知道哪个类调用了函数?
- python - 用 Panda 构建奇数行的矩阵
- c++ - error c2679 binary '=' no operator found which takes right hand operand of type std::tuple
- angular - How to display real time data thorugh Angular data table?
- python - TypeError: read_excel() got an unexpected keyword argument 'keep_date_col'
- rust - 测试在工作区中的行为与作为独立项目不同
- asp.net - 无法序列化会话状态“System.Web.SessionState.HttpSessionState”
- c++ - GCC C++ 链接错误:未定义对“WinMain@16”的引用
- telephony - 在 Bitrix24 中收听代理的呼叫
- c++ - 在 QT 中以(快速)恒定速率旋转 3D 对象