0

地図上に 100 個のマーカーがあり、そのうちの 15 個だけで何かをしたい場合、Ctrl キーを押しながらマーカーをクリックするか、標準のカーソルドラッグ選択を使用してこれを実装する方法はありますか?

4

2 に答える 2

4

Ctrl+クリックが可能です。クリックイベントをマーカーに追加し、イベントハンドラーでCTRLキーが押されたかどうかをテストします。その場合は、後で何かを実行できる配列にマーカーを追加します。

var markers = [];
google.maps.event.addListener(marker, 'click', function (event) {
  if (event.ctrlKey) {
    markers.push(marker);
    // some more code to change icon, add marker name to list, etc 
    //   so user knows marker has been selected
  }
});

このアプローチを使用して文書化されたいくつかの問題 がありますが、それは毎回私のために働いています。必ず複数のブラウザでテストしてください。

ドラッグボックスから選択マーカーへの実装については、このStackOverflowの質問を参照してください。

于 2012-09-25T22:55:50.947 に答える
0

私が過去にこれを行った方法は、マーカーの画像を選択されたものに変更し、さらにそのマーカーを配列に追加するクリックイベントハンドラーをアタッチすることです。次に、「15」マーカーを選択したら、選択したマーカーを処理するボタンをクリックします(またはイベントを開始します)。興味深いのは、マーカーなどの選択を解除できる場合です。HTHCtrlキーを押しながらクリックしても機能しないことはわかっています。

于 2012-09-25T22:36:11.563 に答える