2011-12-15 12 views
0

stackoverflowので、ここで提起された元の質問への回避策ソリューションがあることが表示されます。Google Maps API v3でremove_atイベントが発生したのはいつですか?

When is remove_at event in Google Maps API v3 triggered?

が、私はコードまたは割り当てる方法」のコード例を参照いただければ幸いポリライン内のすべてのノードに「右クリック」リスナーを適用し、この右クリックイベントが発生したときにノードを削除します。

私は同じことをやろうとしています。それは、ノードが「右クリックされた」ときにポリライン内のノードを削除することです。残念ながら、私はアプリケーションコード内で正しい組み合わせを打つことはありません。成功したソリューションのコードまたはコードの例を見ると、非常に高く評価され、私を大きく助けます。

は、ポリラインのノードにイベントを割り当てることが可能であるならば、私は知りませんが、あなたはノードの同じ場所にマーカーオブジェクトを追加し、それにイベントを割り当てることができ、 RTP01

答えて

0

をありがとう。

Googleのpolyline-complex.htmlの例を変更して、ノードも削除して追加するようにしました。

この例では、ユーザーがマップを左クリックしてマーカーをポリラインに接続すると、地図にマーカーが追加されます。ポリラインからノードを削除するマーカーに右クリックリスナーを追加しました。 (ここで働いて完全なコードを参照するにはfiddle exampleがある)

//after the marker is created in the addLatLng function 
google.maps.event.addListener(marker, 'rightclick', removeLatLng); 

...

//function to remove node. 
function removeLatLng(event) { 
    //remove the marker from the map 
    this.setMap(null); 
    //get the polyline array 
    var path = poly.getPath(); 
    //iterate over the array and remove the point that matches the marker coords. 
    path.forEach(function(element, idx) { 
     if (event.latLng == element) { 
      path.removeAt(idx); 
     } 
    }); 
} 

トリックはあなたがの配列インデックスを持つ必要がある。ここでは

コードです削除するノード。マーカを持たない場合、右クリックイベントはノードの正確な座標を返してインデックスを見つけることが困難になることがあります。

ノードとして使用するマーカーグラフィックが気に入らない場合は、ノードを表すカスタム* .pngファイルでアイコンプロパティをカスタマイズできます。

+0

ありがとうございます。その結論に至りました。また、ポリラインの各ノードにイベントリスナーを持つマーカーを配置しなければならないというその道を踏み出す必要もなかったことを期待していました。ポリラインからノードを直接削除することは、新しい[図面ライブラリ](http://code.google.com/apis/maps/documentation/javascript/overlays.html#drawing_tools)にまだ実装されていないようです。ありがとうございます、rtp01 – rtp01

+0

[図書館](http://code.google.com/apis/maps/documentation/javascript/overlays.html#drawing_tools)を読んでいない場合は、いくつかのイベントがポリラインでサポートされていることを確認してください。私はset_atイベントとinsert_atイベントを使用していますが、もう一度、ノードを削除することは他のイベントが[Drawing Library](http://code.google.com /apis/maps/documentation/javascript/overlays.html#drawing_tools)。もう一度ありがとう – rtp01

+0

私はノードを削除することについてGoogleに尋ねる唯一の人ではないようです。 [google maps group](http://groups.google.com/group/google-maps-js-api-v3/browse_thread/thread/3d5072c41f4f502c/825cba64211f7ce9?lnk=gst&q=drawingmanager#825cba64211f7ce9)。 – rtp01

関連する問題