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"
});
}
}
2 回答
避免将标记放置在块的中间的一种方法是将一个放置在生成的折线的末尾,例如,在一个循环内,而不是在单击的位置 .
您还必须更改要放置在折线起点的第一个标记
这适用于上面的代码http://jsfiddle.net/T79as/3/
所以,我的解决方案是在每个重要的航路点之间创建渲染DirectionRenderner(带标记?):http://jsfiddle.net/9T7Vg/
可拖动标记,看起来与原始标记完全相同
可拖动折线,立即计算
带字母(A,B等)的自定义标记 - 这很难
远距离路线计算要快得多
路线可以有超过8个航路点(当用户想要在标记之间放置第9个航点时,您可以改进脚本以自动分割路线)
因此,这个解决方案实际上比Google Map 中的原始解决方案更好,特别是对于长路线 .