Mapbox GL - 向地图添加路线

时间:2016-04-07 00:31:07

标签: mapbox mapbox-gl

我有一个Mapbox GL地图,在该图层上有一个图层和多个标记,我正在尝试使用路线GL在我的应用中绘制路线+显示路线信息(距离/时间/从原点到目的地的路线)插入。遗憾的是,除了设置原点/目的地(如下所示)之外,我无法找到任何信息,以便在我的地图上显示路线+路线数据。我能找到的唯一可用信息是MapBox GL driving directions example中提到的,但这不是我真正想要的,因为我不想将原点/目的地显示为A和B点,也不显示A / B指向上面的mapbox.com示例中的搜索框。

有人可以通过告诉我我在这里缺少什么以及如何在起点/终点之间绘制路线,使用Mapbox GL插件显示路线信息来帮助我吗?感谢

  var map = new mapboxgl.Map({
    container: 'map',
    style: 'mapbox://styles/mapbox/streets-v8', 
    center: [userCoordinates.coords.longitude, userCoordinates.coords.latitude],
    zoom: 15
  });


  var directions = new mapboxgl.Directions({
    unit: 'metric',
    profile: 'driving'        
  });



  directions.setOrigin([userCoordinates.coords.longitude, userCoordinates.coords.latitude]);


  map.on('click', function(e) {

    var features = map.queryRenderedFeatures(e.point, { layers: ['gsLayer'] });
    if (!features.length) {
      return;
    }
    var feature = features[0];

    directions.setDestination([feature.geometry.coordinates[0], feature.geometry.coordinates[1]]);

  });

1 个答案:

答案 0 :(得分:2)

听起来你根本不想使用插件,而是直接向Directions API发出请求。

我建议您查看mapbox-sdk-js - 一个有用的js lib来发送客户端请求。方向的API文档可以是found here