繁体   English   中英

将Google Maps链接渲染为折线

[英]Render google maps link as polyline

我想在地图上显示几条路线,但我希望先用Google地图绘制它们。 例如,我得到了从西雅图到圣地亚哥的路线,然后稍微移动了一些东西,链接看起来像这样

我知道我可以使用DirectionsRenderer绘制一条连接西雅图和圣地亚哥的折线,如下所示:

  function renderDirections(result) { 
    var directionsRenderer = new google.maps.DirectionsRenderer;
    directionsRenderer.setMap(gMap);
    directionsRenderer.setDirections(result);
  } 

  var directionsService = new google.maps.DirectionsService;
  function requestDirections(start, end) { 
    directionsService.route({
      origin: start,
      destination: end,
      travelMode: google.maps.DirectionsTravelMode.BICYCLING
    }, function(result) { 
      renderDirections(result);
    });
  } 
  requestDirections('Seattle, WA', 'San Diego, CA');

我想知道的是,是否有一种方法可以将链接作为路线请求传递。 该链接包含航点,即我对默认路线的修改。

是的,只要将起点和终点传递到DirectionsRequest,然后将其传递到DirectionsService对象,就可以使用DirectionsRenderer。 调用.setDirections后,它将为您绘制折线。 从API文档

设置渲染器以使用DirectionsService的结果。 以这种方式设置一组有效的方向将在渲染器的指定地图和面板上显示方向。

如果您要获得的是自己绘制折线(尽管我不明白为什么要这样做),则可以导出路径中的各个点-DirectionsResult包含一个DirectionsLegs数组,其中包含一个DirectionsSteps数组,其中包含.path属性,它是latlng的数组。 (he!)

这是可能的,并且您处在正确的轨道上。 很难理解API。 我相信您必须在调用route方法时在DirectionsService的DirectionRequest对象中设置航点。 我认为您不能传递链接,但是可以先创建一个对象或路点数组。

如果需要,还可以指定optimizeWaypoints布尔值。 检出DirectionsRequest物件。

航路点数组。 中间航路点数组。 方向将通过此数组中的每个航路点从起点到目的地进行计算。 可选的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM