0

Googleマップ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

いつでも 1 つの円だけを表示したいので、現在、4 つの異なるマーカーをクリックすると 4 つの異なる円が作成されますが、新しい円を描画する前に、最初にすべての円を削除したいと思います。これを試してみましたが、円を一緒に描く機能が無効になっているようです。

circle.setMap(null);

どうすればそれを達成できますか?可能であれば、最初のクリックで 1 つの円を描画し、最後にクリックしたマーカーにバインドして位置を移動するだけです。または、それができない場合は、円のオーバーレイをクリアしてから、最後にクリックしたマーカーにバインドされた新しい円を再描画します。

4

1 に答える 1