Javascript 继续在google maps v3中绘制多段线

Javascript 继续在google maps v3中绘制多段线,javascript,google-maps,google-maps-api-3,google-maps-drawing,Javascript,Google Maps,Google Maps Api 3,Google Maps Drawing,是否可以使用google的DrawingManager为现有多段线启用绘图模式 在进入自定义地图编辑器(我的地图在菜单->创建地图->绘制)时,可以使用。然后创建一条多段线,在最后一点上单击鼠标右键并选择“延伸线”(请参见下图) 但是我找不到一种方法来使用GoogleMapsAPIv3实现同样的功能 将多段线的可编辑-选项设置为true,并向多段线路径添加点 例如: 单击该行使该行可编辑 点击地图停止编辑 在延伸线的同时在顶点上单击鼠标右键停止编辑 函数initMap(){ var goo

是否可以使用google的DrawingManager为现有多段线启用绘图模式

在进入自定义地图编辑器(我的地图在菜单->创建地图->绘制)时,可以使用。然后创建一条多段线,在最后一点上单击鼠标右键并选择“延伸线”(请参见下图)

但是我找不到一种方法来使用GoogleMapsAPIv3实现同样的功能


将多段线的
可编辑
-选项设置为
true
,并向多段线路径添加点

例如:

  • 单击该行使该行可编辑
  • 点击地图停止编辑
  • 在延伸线的同时在顶点上单击鼠标右键停止编辑
函数initMap(){
var goo=google.maps,
map=new goo.map(document.getElementById('map'),{}),
直线=新的粘性多段线({
路径:[
{lat:37.772,lng:-122.214},
{lat:21.291,lng:-157.821},
{拉丁美洲:-18.142,液化天然气:178.431},
{拉丁美洲:-27.467,液化天然气:153.027}
]}),
边界=新的goo.LatLngBounds();
line.getPath().getArray().forEach(函数(ll){
扩展(ll);
});
映射边界(bounds);
line.setMap(map);
/**
*单击该行使该行可编辑
*  
*点击地图停止编辑
*  
*在延伸线的同时在顶点上单击鼠标右键停止编辑
*                      
**/      
goo.event.addListener(行,'click',函数(e){
var line=此;
//使线可编辑
此.setEditable(true);
//停止编辑地图单击
goo.event.addListenerOnce(this.getMap(),'click',function()){
line.setEditable(假);
});
//单击顶点时
如果(e.vertex的类型=='number'){
//单击第一个或最后一个顶点时
如果(!e.vertex | | e.vertex===this.getPath().getLength()-1){
//单击第一个顶点后,将路径反转为
//能推一个顶点吗
如果(如顶点===0){
var p=this.getPath().getArray();
p、 反向();
这是setPath(p);
}
//推动顶点
this.getPath().push(例如latLng)
//观察贴图的鼠标移动以设置最后一个顶点的板条
var move=goo.event.addListener(this.getMap(),'mousemove',函数(e){
line.getPath().setAt(line.getPath().getLength()-1,e.latLng)
});
//右键单击停止编辑
goo.event.addListenerOnce(这个,'rightclick',函数(){
goo.event.removeListener(移动);
此参数为.setEditable(false);
});
} 
}
});
}
html,正文{
身高:100%;
保证金:0;
填充:0;
}
#地图{
身高:100%;
}

将多段线的
可编辑
-选项设置为
true
,并向多段线路径添加点

例如:

  • 单击该行使该行可编辑
  • 点击地图停止编辑
  • 在延伸线的同时在顶点上单击鼠标右键停止编辑
函数initMap(){
var goo=google.maps,
map=new goo.map(document.getElementById('map'),{}),
直线=新的粘性多段线({
路径:[
{lat:37.772,lng:-122.214},
{lat:21.291,lng:-157.821},
{拉丁美洲:-18.142,液化天然气:178.431},
{拉丁美洲:-27.467,液化天然气:153.027}
]}),
边界=新的goo.LatLngBounds();
line.getPath().getArray().forEach(函数(ll){
扩展(ll);
});
映射边界(bounds);
line.setMap(map);
/**
*单击该行使该行可编辑
*  
*点击地图停止编辑
*  
*在延伸线的同时在顶点上单击鼠标右键停止编辑
*                      
**/      
goo.event.addListener(行,'click',函数(e){
var line=此;
//使线可编辑
此.setEditable(true);
//停止编辑地图单击
goo.event.addListenerOnce(this.getMap(),'click',function()){
line.setEditable(假);
});
//单击顶点时
如果(e.vertex的类型=='number'){
//单击第一个或最后一个顶点时
如果(!e.vertex | | e.vertex===this.getPath().getLength()-1){
//单击第一个顶点后,将路径反转为
//能推一个顶点吗
如果(如顶点===0){
var p=this.getPath().getArray();
p、 反向();
这是setPath(p);
}
//推动顶点
this.getPath().push(例如latLng)
//观察贴图的鼠标移动以设置最后一个顶点的板条
var move=goo.event.addListener(this.getMap(),'mousemove',函数(e){
line.getPath().setAt(line.getPath().getLength()-1,e.latLng)
});
//右键单击停止编辑
goo.event.addListenerOnce(这个,'rightclick',函数(){
goo.event.removeListener(移动);
此参数为.setEditable(false);
});
} 
}
});
}
html,正文{
身高:100%;
保证金:0;
填充:0;
}
#地图{
身高:100%;
}


这使现有点可以拖动,但我想向现有多段线添加新点,从最后一个点板开始,但您可以单击末端的点以延伸线。这使现有点可以拖动,但我想向现有多段线添加新点,从最后一个点板开始,但您可以单击末端的点以延伸直线。