Google maps api 3 如何在谷歌地图中画圆前离开模式图
我试图在绘制圆后退出模式绘制,我想隐藏控件drawingmanager并可以编辑圆,但我不知道如何在绘制圆后进入模式,不绘制并可以编辑圆Google maps api 3 如何在谷歌地图中画圆前离开模式图,google-maps-api-3,Google Maps Api 3,我试图在绘制圆后退出模式绘制,我想隐藏控件drawingmanager并可以编辑圆,但我不知道如何在绘制圆后进入模式,不绘制并可以编辑圆 <script type="text/javascript"> function initialize() { var mapOptions = { center: new google.maps.LatLng(4.705, -74.113), zoom: 5,
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(4.705, -74.113),
zoom: 5,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
var drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.MARKER,
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [
//google.maps.drawing.OverlayType.MARKER,
google.maps.drawing.OverlayType.CIRCLE,
google.maps.drawing.OverlayType.POLYGON,
//google.maps.drawing.OverlayType.POLYLINE,
//google.maps.drawing.OverlayType.RECTANGLE
]
},
//markerOptions: {icon: 'Images/marker_sprite.png'},
circleOptions: {
strokeColor: '#FF0000',
fillColor: '#DF0101',
fillOpacity: 0.3,
strokeWeight: 2,
editable:true
},
rectangleOptions: {
strokeColor: "#FF0000",
strokeWeight: 2,
fillColor: '#DF0101',
fillOpacity: 0.35,
editable:true
},
polygonOptions: {
strokeColor: "#FF0000",
strokeWeight: 2,
fillColor: '#DF0101',
fillOpacity: 0.35,
editable:true
}
});// Cierre variable drawingManager
drawingManager.setMap(map);
// event handler for drawingManager shapes
function setClickEvent(shape) {
google.maps.event.addListener(shape, 'click', function(){
//Colocar mensaje en Formato Dialgo UI
if(confirm('Desea Eliminar El Punto de Control')){
shape.setMap(null);
drawingManager.setOptions({
drawingMode: google.maps.drawing.OverlayType.MARKER,
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [
google.maps.drawing.OverlayType.CIRCLE,
google.maps.drawing.OverlayType.POLYGON
]
}
});
}
});
}
google.maps.event.addListener(drawingManager,'circlecomplete', function(circle){
radius = circle.getRadius();
centro = circle.getCenter();
document.getElementById("posicion").innerHTML=centro;
document.getElementById("radio").innerHTML=radius;
drawingManager.setOptions({
drawingControl: false
});
google.maps.event.addListener(circle, 'radius_changed', function(){
radius = circle.getRadius();
document.getElementById("radio").innerHTML=radius;
});
google.maps.event.addListener(circle, 'center_changed', function(){
centro = circle.getCenter();
document.getElementById("posicion").innerHTML=centro;
});
//drawingManager.setOptions({ drawingControl: false });
setClickEvent(circle);
});
/*
google.maps.event.addListener(drawingManager, 'rectanglecomplete', function(Rectangle) {
var vertices = Rectangle.getBounds();
document.getElementById("posicion").innerHTML=vertices;
setClickEvent(Rectangle);
});
*/
google.maps.event.addListener(drawingManager, 'polygoncomplete', function(Polygon) {
var vertices = Polygon.getPath();
var pocision="";
for (var i=0; i < vertices.length; i++){
var xy=vertices.getAt(i);
pocision += "<br>"+ xy.lng() +" , " + xy.lat();
document.getElementById("posicion").innerHTML=pocision;
}
google.maps.event.addListener(Polygon, 'mousedown', function() {
google.maps.event.addListener(Polygon.getPath(), 'set_at', function() {
console.log('editando');
vertices=Polygon.getPath();
pocision="";
for (var i=0; i < vertices.length; i++){
var xy=vertices.getAt(i);
pocision += "<br>"+ xy.lng() +" , " + xy.lat();
document.getElementById("posicion_Final").innerHTML=pocision;
}
});
});
});
}/* cierra inittalize() */
google.maps.event.addDomListener(window, 'load', initialize);
</script>
函数初始化(){
变量映射选项={
中心:新google.maps.LatLng(4.705,-74.113),
缩放:5,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById('map_canvas'),mapOptions);
var drawingManager=new google.maps.drawing.drawingManager({
drawingMode:google.maps.drawing.OverlyType.MARKER,
drawingControl:对,
drawingControlOptions:{
位置:google.maps.ControlPosition.TOP_CENTER,
绘图模式:[
//google.maps.drawing.overlytype.MARKER,
google.maps.drawing.overlytype.CIRCLE,
google.maps.drawing.OverlyType.POLYGON,
//google.maps.drawing.OverlyType.POLYLINE,
//google.maps.drawing.overlytype.RECTANGLE
]
},
//标记选项:{icon:'Images/marker_sprite.png'},
循环操作:{
strokeColor:“#FF0000”,
填充颜色:'#DF0101',
填充不透明度:0.3,
冲程重量:2,
可编辑:真
},
矩形选项:{
strokeColor:#FF0000“,
冲程重量:2,
填充颜色:'#DF0101',
不透明度:0.35,
可编辑:真
},
多克隆选择:{
strokeColor:#FF0000“,
冲程重量:2,
填充颜色:'#DF0101',
不透明度:0.35,
可编辑:真
}
});//Cierre变量绘图管理器
drawingManager.setMap(map);
//drawingManager形状的事件处理程序
函数设置ClickEvent(形状){
google.maps.event.addListener(形状,'click',函数(){
//Colocar mensaje en Formato Dialgo用户界面
如果(确认('Desea Eliminar El Punto de Control'){
setMap(空);
drawingManager.setOptions({
drawingMode:google.maps.drawing.OverlyType.MARKER,
drawingControl:对,
drawingControlOptions:{
位置:google.maps.ControlPosition.TOP_CENTER,
绘图模式:[
google.maps.drawing.overlytype.CIRCLE,
google.maps.drawing.overlytype.POLYGON
]
}
});
}
});
}
google.maps.event.addListener(drawingManager,'circlecomplete',函数(圆圈){
半径=圆。getRadius();
centro=circle.getCenter();
document.getElementById(“posicion”).innerHTML=centro;
document.getElementById(“radio”).innerHTML=radius;
drawingManager.setOptions({
drawingControl:错误
});
google.maps.event.addListener(圆圈'radius_changed',函数(){
半径=圆。getRadius();
document.getElementById(“radio”).innerHTML=radius;
});
google.maps.event.addListener(圈出'center_changed',function(){
centro=circle.getCenter();
document.getElementById(“posicion”).innerHTML=centro;
});
//setOptions({drawingControl:false});
设置ClickEvent(循环);
});
/*
google.maps.event.addListener(drawingManager,'rectanglecomplete',函数(矩形){
var顶点=矩形。getBounds();
document.getElementById(“posicion”).innerHTML=顶点;
设置ClickEvent(矩形);
});
*/
google.maps.event.addListener(drawingManager,'polygoncomplete',函数(多边形){
var顶点=Polygon.getPath();
var Pocison=“”;
对于(var i=0;i”+xy.lng()+”,“+xy.lat();
document.getElementById(“posicion”).innerHTML=pocision;
}
google.maps.event.addListener(Polygon'mousedown',function(){
google.maps.event.addListener(Polygon.getPath(),'set_at',function(){
console.log('editando');
顶点=多边形。getPath();
Pocison=“”;
对于(var i=0;i”+xy.lng()+”,“+xy.lat();
document.getElementById(“posicion_Final”).innerHTML=pocison;
}
});
});
});
}/*cierra inittalize()*/
google.maps.event.addDomListener(窗口“加载”,初始化);
要使圆无法编辑,请将“可编辑”选项设置为false:
google.maps.event.addListener(drawingManager,'circlecomplete', function(circle){
radius = circle.getRadius();
centro = circle.getCenter();
document.getElementById("posicion").innerHTML=centro;
document.getElementById("radio").innerHTML=radius;
circle.setOptions({editable:false}); // <-- **** add this line
drawingManager.setOptions({
drawingControl: false
});
google.maps.event.addListener(circle, 'radius_changed', function(){
radius = circle.getRadius();
document.getElementById("radio").innerHTML=radius;
});
google.maps.event.addListener(circle, 'center_changed', function(){
centro = circle.getCenter();
document.getElementById("posicion").innerHTML=centro;
});
setClickEvent(circle);
});
google.maps.event.addListener(drawingManager,'circlecomplete',函数(圆圈){
半径=圆。getRadius();
centro=circle.getCenter();
document.getElementById(“posicion”).innerHTML=centro;
document.getElementById(“radio”).innerHTML=radius;
circle.setOptions({editable:false});//这是一个aswer,只需将此代码放入google.maps.event.addListener(drawingManager,'circlecomplete',函数(circle){radius=circle.getRadius();centro=circle.getCenter();document.getE