地図上に図形を描画し、編集可能で選択できるアプリを作成しました。
これは、「overlaycomplete」リスナーを Drawing Manager に追加し、選択した形状を設定したり、選択をクリアしたり、形状を削除したりするための関数を記述することで実現されました。
google.maps.event.addListener(drawingManager, 'overlaycomplete', function(e) {
drawingManager.setDrawingMode(null);
var shape = e.overlay;
shape.type = e.type;
google.maps.event.addListener(shape, 'click', function() {
select(shape);
});
その後、すべての形状の詳細をデータベースに保存できます。ここで、再び編集できるようにする必要がある同じ形状でマップを再作成する必要があります。データベースから詳細を読み込んだ後、シェイプを再作成しましたが、以前に使用したのと同じ機能を使用するためにリスナーを設定できないようです。形状は、次のように指定することで単純に再描画されます。
shape = new google.maps.Polygon({
map: map,
paths: paths,
zIndex: 90,
strokeWeight: 0,
fillColor: color,
fillOpacity: 0.65,
editable: true
});
このように図形を描画した後、それらは編集可能ですが、たとえば削除するために一度に 1 つの図形を選択することはできません。すなわち。形状は、以前に記述された関数では操作できません。
リスナーを設定する方法はありますか?