マップの横にリストされているある種のマーカーを追加したいだけで、ユーザーはそれらをマップにドラッグできます。GEvent.addDomListener(domObj, "drag",functName); を使用しようとしました。しかし、うまくいきませんでした。それを行う方法はありますか?ありがとうダウ
質問する
938 次
1 に答える
3
jQuery UIを使用しているかどうかはわかりませんが、ドラッグ可能な DOM 要素を作成し、要素の位置を見つけるプロセスを合理化するため、このライブラリを使用することをお勧めします。
この例では、jQuery UIを使用して、移動後のドラッグ可能な要素の Div ピクセル座標を見つけます。
jQuery UIを使用して、いくつかのことを行います。
- 要素をドラッグ可能にする
- 要素のドラッグが停止したときのイベント リスナーを作成する
要素が「createMarker」と呼ばれる別の関数に移動したら、要素の位置を渡します。そこでマーカーを作成します
$("#dragMe").draggable({ stop:function(event,ui){ window.createMarker(ui.position); } });
Create Marker は、いくつかのことを担当します。
- ドラッグ可能な要素の左と上の位置を受け取ります
- マップのオフセットを考慮しながら、そのポイントに相当するGLatLngポイントを計算します
マーカーを作成してマップに追加する
function createMarker(position) { //Adjust Offset var offset = { left:10, top:-5 } //Create a new GPoint var myGPoint = new GPoint( position.left+offset.left, position.top+offset.top ); //Calculate the LatLng for this point var myLatLng = map.fromDivPixelToLatLng(myGPoint); //Create the Marker and add it to the Map var marker = new GMarker(myLatLng); map.addOverlay(marker); }
ここにあるこのコードの実例も作成しました。他にご不明な点がございましたら、お気軽にお問い合わせください。お役に立てば幸いです。
:)
于 2010-05-03T15:07:28.377 に答える