javascript - 如何在谷歌方向上制作无限多段线并将可拖动标记适合该线?

标签 javascript google-maps-api-3 google-maps-markers map-directions google-polyline

我发现在 google api 方向上只能添加八个航点,你知道如何绕过这个限制吗?我尝试过显示方向api,但放弃了这个想法。现在我的解决方案基于自己的折线,每次单击都会添加应该粘在该线上的标记,接下来它应该在您拖动时移动,这里发生的是,如果带有标记的折线超过 8 个点,则不再兼容。也许我的方法完全不好?如何解决这个问题?

当前代码:jsfiddle

标记不在折线上:

enter image description here

最佳答案

避免将标记放置在 block 中间的一种方法是将标记放置在生成的多段线的末端,例如,放置在其中一个循环内,而不是单击所在的位置。

for (k = 0; k < next.length; k++) {
  polyline.getPath().push(next[k]);

  if (z == steps.length-1 && k == next.length-1) {
    var roadMarker = new google.maps.Marker( {
      map: map, 
      position: next[k], 
      icon: "http://labs.google.com/ridefinder/images/mm_20_green.png"
    });   
  }                        
}

您还必须更改要放置在折线开头的第一个标记

这适用于上面的代码 http://jsfiddle.net/T79as/3/

关于javascript - 如何在谷歌方向上制作无限多段线并将可拖动标记适合该线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10182878/

相关文章:

javascript:字符串到字节[]到字符串

javascript直接按值访问二维数组元素

javascript - 使用显式和隐式返回函数返回函数的区别

android - Google Maps API 中的动画 map 标记

javascript - 谷歌地图在 Bootstrap 模态中的位置总是偏离 map 大小宽度和高度

javascript - 从 JavaScript 中的另一个函数停止函数中的循环

javascript - Google Maps API - 搜索 XML 标记

javascript - 在值变化时加载新的信息窗口

javascript - 使用 JSON.stringify 和 JSON.parse 将多边形坐标存储到 oracle 中

php - Google map v3 api 中的标记不再访问内容