2012-01-06 9 views
0

マップ上の絶対配置された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を取得します。フローティング要素からイベントをトリガーすると、私はそうしません。

私が正しくマップにイベントだろうバブルアップを期待して、完全にaddPinClonemouseup機能を省略しようとしたが、それはどちらか動作しませんでした。

ここからlatLngを取得するにはどうすればよいですか?

答えて

1

mouseupはMapクラスの文書化されたイベントではありません(マーカ、ポリゴン、矩形、円の上にドラッグされることがあります)。だから私はあなたがそのイベントを引き起こすことは不可能だと思います。面白いかもしれませんが、地図上の通常のクリックに対しては何も起こりません。

+0

ああ、あなたは正しいです。私のユースケースには 'dragstart'、' dragend'、 'drag'があるようです。素晴らしい! – benekastah

関連する問題