マップ上の絶対配置されたdom要素(この要素はマウスに続きます)からマウスイベントがトリガされています。 mouseup
要素をマップ上でトリガーするように、マップ上でmouseupが直接実行されたかのようにします。最も重要なのは、マウスボタンが離された位置のlatLng座標が必要なことです。ここで私のコードの関連部分(マウスに続く要素に関する)です。マウスイベントを手動でトリガするとlatLngが発生しません
var mouseup = google.maps.event.addListenerOnce(_map, 'mouseup', function(event) {
placeMarker(event.latLng);
addPinClone.remove();
return bean.remove(window, "mousemove.window__temp__");
});
var addPinClone = $("<div class='map-add-pin'>").css({
opacity: .4,
position: "absolute"
}).mouseup(function(evt) {
return google.maps.event.trigger(_map, "mouseup", evt);
}).appendTo("#map");
私は直接マップをクリックした場合、私は私のmouseup
イベントでevent.latLng
を取得します。フローティング要素からイベントをトリガーすると、私はそうしません。
私が正しくマップにイベントだろうバブルアップを期待して、完全にaddPinClone
にmouseup
機能を省略しようとしたが、それはどちらか動作しませんでした。
ここからlatLngを取得するにはどうすればよいですか?
ああ、あなたは正しいです。私のユースケースには 'dragstart'、' dragend'、 'drag'があるようです。素晴らしい! – benekastah