Google maps api 3 如何绘制圆覆盖图,然后根据新标记单击更改其位置-避免多个圆?

Google maps api 3 如何绘制圆覆盖图,然后根据新标记单击更改其位置-避免多个圆?,google-maps-api-3,Google Maps Api 3,我使用谷歌地图api v3,让它工作得很漂亮,在标记或外部链接上单击我让地图放大那个特定的标记,并在那个特定的标记上画一个圆圈。每次发生“单击”时,都会执行以下操作: // DO CIRCLE... //circle.setMap(null); // CLEARS CIRCLE var circle = new google.maps.Circle({ map: map

我使用谷歌地图api v3,让它工作得很漂亮,在标记或外部链接上单击我让地图放大那个特定的标记,并在那个特定的标记上画一个圆圈。每次发生“单击”时,都会执行以下操作:

    // DO CIRCLE...         

            //circle.setMap(null);  // CLEARS CIRCLE

                var circle = new google.maps.Circle({
                    map: map,
                    center: marker.position,
                    fillColor: '#0000FF',
                    fillOpacity: 0.2,
                    strokeColor: '#FF0000',
                    strokeOpacity: 0.8,
                    strokeWeight: 1,
                });

                circle.setRadius(1609.344);
                circle.bindTo('center', marker, 'position');


 // END CIRCLE SECTION
我希望在任何给定的时间都只显示一个圆,因此,尽管当前单击4个不同的标记会生成4个不同的圆,但在绘制新圆之前,我希望先删除所有圆。我试过了,但它似乎禁用了在一起画圆圈的功能

circle.setMap(null);

我怎样才能做到这一点?如果可能的话,我希望在第一次单击时绘制一个圆,然后将其移动到最后一次单击的标记上。或者,如果这不可行,我希望清除任何圆覆盖,然后重新绘制绑定到上次单击的标记的新圆。

如果您只想要一个圆,请将其设置为全局(在任何函数外使用“var”定义),然后销毁并重新创建它或将其移动到新位置(将其中心绑定到新标记)


您能提供一个能显示问题的JSFIDLE吗?谢谢,现在我想起来,它工作得很好,也很有意义。