【问题标题】:How can I remove marker with bonded circle from the map?如何从地图中删除带有绑定圆圈的标记?
【发布时间】:2012-12-09 23:30:03
【问题描述】:

我确实将圆圈与标记绑定以使视图如下:

但是当我尝试从地图上删除标记时,圆圈仍然存在。嗯,

如何删除带有圆圈的标记?

相关代码:

 function removeMarker(){
    if(selectedMarker)
       selectedMarker.setMap(null);      
}

....

function createCircle()
{
                var circle = {
                strokeColor: "#006DFC",
                strokeOpacity: 0.4,
                strokeWeight: 2,
                fillColor: "#006DFC",
                fillOpacity: 0.15,
                map: mapA,
                center: selectedMarker.getPosition(),
                radius: 50 // in meters
            };
            var cityCircle = new google.maps.Circle(circle);    


            cityCircle.bindTo('center', selectedMarker, 'position');
}

任何建议将不胜感激。

谢谢,

【问题讨论】:

    标签: javascript google-maps-api-3


    【解决方案1】:

    如果你想在移除标记的同时移除圆圈,你也需要移除它。

     cityCircle.setMap(null);
    

    您需要保留对圆圈的引用才能做到这一点(未经测试):

    function removeMarker(){
      if(selectedMarker)
        selectedMarker.setMap(null); 
        selectedMarker._mycityCircle.unbindAll();
        selectedMarker._mycityCircle.setMap(null);  
    }
    
    ....
    
    function createCircle()
    {
      var circle = {
        strokeColor: "#006DFC",
        strokeOpacity: 0.4,
        strokeWeight: 2,
        fillColor: "#006DFC",
        fillOpacity: 0.15,
        map: mapA,
        center: selectedMarker.getPosition(),
        radius: 50 // in meters
      };
    
      cityCircle.bindTo('center', selectedMarker, 'position');
      selectedMarker._mycityCircle = cityCircle;
    }
    

    【讨论】:

    • 感谢您的回复。 _myCircle 没有方法 setMap。我没有在地图上放置circle,只绑定到标记。
    猜你喜欢
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 2020-02-14
    • 1970-01-01
    • 2016-07-23
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    相关资源
    最近更新 更多