我发现可以在 google api 方向上只添加八个航点,你知道如何绕过这个限制吗?我试图显示方向api,但放弃了这个想法。现在我的解决方案是基于自己的折线,每次单击都会添加应该粘在该线上的标记,接下来随着您拖动它应该移动,这里发生的是,如果有超过 8 个点的折线与标记不再兼容。也许我的方法完全不好?如何解决这个问题?
当前代码:jsfiddle
标记不在折线上:
我发现可以在 google api 方向上只添加八个航点,你知道如何绕过这个限制吗?我试图显示方向api,但放弃了这个想法。现在我的解决方案是基于自己的折线,每次单击都会添加应该粘在该线上的标记,接下来随着您拖动它应该移动,这里发生的是,如果有超过 8 个点的折线与标记不再兼容。也许我的方法完全不好?如何解决这个问题?
当前代码:jsfiddle
标记不在折线上:
避免将标记放置在块中间的一种方法是将标记放置在生成的多段线的末端,例如,在您的一个循环内,而不是点击的位置。
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"
});
}
}
您还必须更改要放置在折线开头的第一个标记
所以,我的解决方案是在每个重要的航路点(带有标记?)之间创建渲染 DirectionRenderner:http: //jsfiddle.net/9T7Vg/
所以这个解决方案实际上比谷歌地图中的原始解决方案要好,尤其是在长途路线上。