2012-04-13 28 views
1

ポリゴンのinsert_at、remove_at & set_atイベントの使用方法。ポリゴン座標/頂点/ノード(GoogleマップV3)の削除方法

誰かが使用方法やイベントの引数についていくつかサンプルを提供できますか?

私が今やりたいのは、ユーザーがポリゴンを描いて、ポリゴンのノードをダブルクリックすると、ポリゴンからノードを削除したい場合です。

できますか?イベント用

https://developers.google.com/maps/documentation/javascript/events

イベントあなたの求めて:私はちょうどremove_atイベントを使用して終了 https://developers.google.com/maps/documentation/javascript/overlays#PolygonArrays

+0

これは現在、未解決の機能要求です(Googleによって承認されました)問題3760です。http://stackoverflow.com/a/9279742/926460にアクセスしてください – Timeless

答えて

7

ポリゴンが編集可能な場合、ポリゴンにイベントリスナーを追加して、クリックまたは右クリックを処理できます。たとえば、次のように多角形を作成し、ポリゴンの頂点(ノード)上で右クリックをキャッチするイベントリスナーを添付して、removeVertex関数を呼び出します上記のコード

poly = new google.maps.Polygon({ 
    editable: true 
}); 
poly.setMap(map); 
google.maps.event.addListener(poly, 'rightclick', function(event) { 
    if (event.vertex == undefined) { 
    return; 
    } else { 
    removeVertex(event.vertex); 
    } 
}); 

function removeVertex(vertex) { 
    var path = poly.getPath(); 
    path.removeAt(vertex); 
} 

ポリラインにも同様のソリューションを適用できます。

1

はここに役立つかもしれない2つのリンクです。ここで私はそれを使用する方法である:

google.maps.event.addListener(this, 'click', function(event) {     
     path = this.getPath(); 
     for(i=0;i<path.length;i++){ 
      if(event.latLng == path.getAt(i)){ 
       path.removeAt(i); 
      } 
     } 
}); 

あなたがポリゴン実際のパスではなく、ポリゴンオブジェクトの上にそれらを使用してください。

関連する問題