ポリゴン、マルチポリゴン、ポリゴンに穴があります。すべて正常に動作します。現在、ピン(マーカー)を配置してから、別のポリゴンを選択したときにマーカーを移動しています。 [編集:何百ものポリゴンがあるので、以下のように手動で再設定すると実用的ではありません]ポリゴンの塗りつぶしを変更 - 選択したポリゴンのみを選択して前の選択をクリアします(Googleマップv3)
マーカーをfillColorに置き換えてください。誰かがポリゴンをクリックすると、簡単にfillColorを変更できます。これは問題ではありません。私が抱えている問題は、誰かが別のポリゴンをクリックしたときにfillColorをクリアしようとすることです。
これは、多数のファイルを持つ大規模なプロジェクトです...しかし、関連する部分はここにある:
//building is the polygon
building.addListener('click', function() {
// We've been using markers, can we can easily move them.
setMarker(map, this.center, true);
// Want to use this instead. This works fine to color the polygon but...
this.setOptions({
fillColor: 'orange'
});
// I need some function, likely to be called here that clears any other polygon that has been change to 'orange'.
// I was looking at map.data.revertStyle(); but this doesn't work at this level.
});
ちょうどそれを明確にするために、リセットする方法の例がたくさんあります誰かがそれを再びクリックするとポリゴン。それは簡単です。移動マーカー機能の仕組みと同じように、別のポリゴンがクリックされたときにリセットしたいと思います。
はあなたが
これは技術的に動作しますが - 、それはほとんどのアプリケーションのための実用的なおかげではありません。たとえば、何百ものポリゴンがあり、それぞれ明示的に呼び出すことは悪夢です。 – Mauricio
私はそれについて考えていましたが、解決策は、[この質問](https://stackoverflow.com/questions/21321157/how-can-i)で提案するように、google.maps.Polygonの独自の実装/拡張を作成することです。 -create-custom-events-for-google-maps-api-v3-objects)を作成し、同じアイデアに従ってください。上記のコードは、決して実稼働可能なコードではなく、あなたを正しい方向に導く簡単な実例を与えることでした – randomguy04