Google maps api 3 绘制多段线类似于在DrawingManager中绘制多段线

Google maps api 3 绘制多段线类似于在DrawingManager中绘制多段线,google-maps-api-3,polyline,Google Maps Api 3,Polyline,这是我在单击第一个点时绘制多段线的方式,在单击地图画布上的第二个点后绘制多段线: 这说明了如何使用DrawingManager绘制多段线: 我希望以与DrawingManager相同的方式绘制规则多段线,其中该线将继续显示我在地图画布上移动鼠标的位置 谢谢,您可以使用map mouseover事件来实现这一点。这将返回一个LatLng,比如pointA。如果您可以编写代码来记录您绘制的上一个点,比如pointB,那么您可以在此事件中以不同的样式呈现从pointA到pointB的临时线 如果您

这是我在单击第一个点时绘制多段线的方式,在单击地图画布上的第二个点后绘制多段线:

这说明了如何使用DrawingManager绘制多段线:

我希望以与DrawingManager相同的方式绘制规则多段线,其中该线将继续显示我在地图画布上移动鼠标的位置


谢谢,

您可以使用map mouseover事件来实现这一点。这将返回一个LatLng,比如pointA。如果您可以编写代码来记录您绘制的上一个点,比如pointB,那么您可以在此事件中以不同的样式呈现从pointA到pointB的临时线


如果您需要代码示例,请告诉我。

这对我很有用,一个重要的细节是在构造多段线时指定
可单击:false
,否则它不会在地图上注册单击事件


复杂多段线
html,正文{
身高:100%;
保证金:0;
填充:0;
}
#地图{
身高:100%;
}
var-poly;
var映射;
var存在多段线路径;
var-tempPoly;
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
缩放:7,
中间:{lat:41.879,lng:-87.624}//将美国芝加哥的地图放在中间。
});
poly=新的google.maps.Polyline({
strokeColor:“#000000”,
笔划不透明度:1.0,
冲程重量:3,
地图:地图,
可点击:false
});
tempPoly=新的google.maps.Polyline({
strokeColor:“#FF0000”,
笔划不透明度:1.0,
冲程重量:3,
地图:地图,
可点击:false
});
//为单击事件添加侦听器
map.addListener('click',addLatLng);
map.addListener('mousemove',函数(事件){
existingPolylinePath=poly.getPath();
如果(现有PolylinePath.length>0){
setPath([existingPolylinePath.getAt(existingPolylinePath.length-1),event.latLng]);
}
});
}
//处理地图上的单击事件,并向多段线添加新点。
功能添加(事件){
var path=poly.getPath();
//因为path是一个MVCArray,所以我们可以简单地附加一个新的坐标
//它会自动出现。
路径推送(event.latLng);
//在多段线上的新打印点添加新标记。
var marker=new google.maps.marker({
位置:event.latLng,
标题:“#”+path.getLength(),
地图:地图
});
}

到目前为止,您的代码是什么样子的?如果DrawingManager符合您的要求,为什么不能使用它?您可以删除这些控件。我无法使用DrawingManager,因为我的自定义多段线具有绑定到它的标记和标签。谢谢您的建议。我将使用map mousemove事件进行尝试。如果我不能去上班,我会告诉你的。太好了。它与自定义多段线中的MapMouseMove事件配合得很好。谢谢