javascript - Mapbox Geolocation,如何加载到 map 中?

标签 javascript geolocation geocoding mapbox

我一直在使用 MapBox,但在让 GeoLocation API 将数据发送回 map 并更新它时遇到了一些问题。

这就是我现在得到的:

  mapboxgl.accessToken = 'TOKEN-HERE';
  var map = new mapboxgl.Map({
         container: 'map', // container id
         style: 'mapbox://styles/mapbox/streets-v9', 
         center: [-0.968539, 54.562917],
         zoom: 9 
  });

  map.on('style.load', function() {
      map.addSource("myMap", {
             "type": "geojson",
             "data": "https://api.mapbox.com/geocoding/v5/mapbox.places/UK_ADDRESS_HERE.json?country=gb&types=address&autocomplete=true&access_token=TOEKN"
      });

      map.addLayer({
          'id': 'test1',
          'type': 'line',
          'source': 'myMap',
          'interactive': true
      });
 });

最佳答案

答案可能取决于您编码UK_ADDRESS_HERE的方式。

https://api.mapbox.com/geocoding/v5/mapbox.places/UK_ADDRESS_HERE.json

<小时/>

request format for the Mapbox Geocding API要求由于 {query} 参数可以包含任何值,因此它应该是 URL 编码的

这意味着像 10 Downing Street, Westminster 这样的简单地理编码请求必须使用 encodeURIComponent 进行编码前往 10%20Downing%20Street%2C%20Westminster

尝试此操作并验证您的请求是否正确。

curl https://api.tiles.mapbox.com/geocoding/v5/mapbox.places/10%20Downing%20Street%2C%20London.json?access_token=${MAPBOX_ACCESS_TOKEN}

关于javascript - Mapbox Geolocation,如何加载到 map 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38330100/

相关文章:

javascript - 在 AngularJS 上使用本地存储来存储购物车

测试基于 IP 的地理定位

javascript - 使用 JavaScript 定位

mysql - 给定经纬度,找到对该位置感兴趣的用户

r - ggmap "dsk"速率限制

objective-c - 开发应用程序以查找目的地附近地点的最佳方法

javascript - 当选项卡/页面处于事件状态时启动动画

javascript - 单击复选框时删除最后一个输入字段

javascript - 只执行一次jquery animate

javascript - 为什么 navigator.geolocation.getCurrentPosition 在 IE 11 上不起作用