Removing a Google maps Circle/shape

后端 未结 4 1919
长情又很酷
长情又很酷 2021-02-03 21:40

I am creating a Circle using the google.maps.Circle() method. This all works fine and dandy, but how can I remove said circle?

My code:

var populationOpt         


        
相关标签:
4条回答
  • 2021-02-03 22:19

    You need to call the setMap method on the Circle object to null:

    cityCircle.setMap(null);
    
    0 讨论(0)
  • 2021-02-03 22:22

    You need to remove events listeners too, not just hiding the circle, in-fact circle.setMap(null) will just hide the circle

    function remove_circle(circle) {
        // remove event listers
        google.maps.event.clearListeners(circle, 'click_handler_name');
        google.maps.event.clearListeners(circle, 'drag_handler_name');
        circle.setRadius(0);
        // if polygon:
        // polygon_shape.setPath([]); 
        circle.setMap(null);
    }
    
    0 讨论(0)
  • 2021-02-03 22:39

    To remove a circle from the map, call the setMap() method passing null as the argument.

    circle.setMap(null);
    

    Note that the above method does not delete the circle. It simply removes the circle from the map. If instead you wish to delete the circle, you should remove it from the map, and then set the circle itself to null.

    https://developers.google.com/maps/documentation/javascript/shapes#circle_remove

    0 讨论(0)
  • 2021-02-03 22:41

    Google Maps API has been updated. You can now directly use the following code :

    circle.remove();
    
    0 讨论(0)
提交回复
热议问题