質問: polygon.getPaths(); for(var i=0;i<=polygonPaths.length-1;i++){ google.maps.event.addListener(value, 'set_at', function(){ console.log("aa"); }); } ``` polygon.getPath()で取得したパスにイベント付与をすると 外側ポリゴンの変形イベントはキャッチできました。
回答: ご提示のコードには`value`の定義がありませんが、おそらくこの`value`を取得する部分で躓いているのでしょう。 `Polygon.prototype.getPaths()`の戻り値は`MVCArray`オブジェクトです。 単なる配列ではないので`polygonPaths[i]`のように添字でアクセスすることはできません。 for文内で`MVCArray.prototype.getAt()`メソッドを呼ぶか、`MVCArray.prototype.forEach()`メソッドを利用してください。 ``` var polygonPaths = polygon.getPaths(); for(var i = 0; i < polygonPaths.length; i++){ var polygonPath = polygonPaths.getAt(i); google.maps.event.addListener(polygonPath, 'set_at', function(){ console.log("aa"); }); /* 下記のようにも書けます。 polygonPath.addListener('set_at', function(){ console.log("aa"); }); */ } ``` またはこっち ``` var polygonPaths = polygon.getPaths(); polygonPaths.forEach(function(polygonPath) { google.maps.event.addListener(polygonPath, 'set_at', function(){ console.log("aa"); }); }); ```