2012-01-06 39 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。当我从浮动元素触发事件时,我没有。

我试图完全忽略mouseup函数addPinClone,希望事件能够正确地向地图上滚动,但这也不起作用。

如何从这里获取latLng?

回答

1

mouseup不是Map类中的记录事件(它位于Marker,Polygon,Rectangle和Circle上,即可能在地图上拖动的东西)。所以我猜想你不可能触发这个事件。虽然有趣的是,任何事情都会在地图上正常点击。

+0

啊,你说得对。看起来他们有'dragstart','dragend'和'drag'作为我的用例。太棒了! – benekastah 2012-01-10 03:04:00