在提出这个问题之前,我已经进行了网络搜索。
当我双击我的标记时,我正在绘制一个圆圈:
function drawRadius(marker, map){
google.maps.event.addListener(marker, "dblclick", function () {
circle = new google.maps.Circle({
map: map,
fillColor : '#3333FF',
fillOpacity : 0.5,
radius : 10000,
strokeColor : '#BBD8E9',
strokeOpacity : 0.9,
strokeWeight : 2
});
circle.bindTo('center', marker, 'position');
});
}
以下是完整代码:http://jsfiddle.net/rjhzq/1/
问题在于,当我双击标记时,我想显示或隐藏圆圈。
我已经尝试过了
if (circle!=null){circle.setMap(null);}
但问题是我在创建标记后立即调用了drawCircle函数。
感谢您的帮助
答案 0 :(得分:2)
您可以在标记中添加一个变量,以保留对circle
添加的引用
类似的东西:
// If your marker has a circle, remove it and remove the reference to it.
if (marker.circle) {
marker.circle.setMap(null);
marker.circle = null;
return;
}
circle = new google.maps.Circle({
map: map,
fillColor: '#3333FF',
fillOpacity: 0.5,
radius: 10000,
strokeColor: '#BBD8E9',
strokeOpacity: 0.9,
strokeWeight: 2
});
circle.bindTo('center', marker, 'position');
marker.circle = circle; // Add circle to marker as reference