Eva*_*oky 7 jquery google-maps google-maps-api-3
我正在制作一个谷歌地图(v3)mashup,其中有一个点击事件的地图监听器.
google.maps.event.addListener(map, 'click', function(event) {addMarker(event)});
Run Code Online (Sandbox Code Playgroud)
地图上的此点击事件会导致创建新标记.但是,我也在点击标记时使用jQuery按钮构建OverlayView(在google地图的floatPane中).
markerDialogOverlay.prototype.onAdd = function()
{
var divToAdd = document.createElement('div');
divToAdd.id = 'markerHelper';
divToAdd.title = 'Edit Marker';
this.div = divToAdd;
var panes = this.getPanes();
panes.floatPane.appendChild(this.div);
this.jqdiv = $('#markerHelper');
this.jqdiv.empty();
}
markerDialogOverlay.prototype.draw = function()
{
overlayProjection = this.getProjection();
var posxy = overlayProjection.fromLatLngToDivPixel(this.marker.getPosition());
this.jqdiv.css({ 'z-index': '1',
'left': posxy.x + 'px',
'top': posxy.y + 'px',
'position' : 'absolute'});
this.jqdiv.append($('<button id="deleteMarker">Delete</button>').button().click(function(){deleteLocation(this.marker)}).hide().fadeIn('slow'));
}
Run Code Online (Sandbox Code Playgroud)
点击jQuery按钮后,jQuery按钮点击事件和谷歌地图点击事件都被触发,但我只想点击jQuery按钮点击.
我仍然想要启用地图点击事件,而不是OverlayView div所在的位置.关于如何解决这个问题的任何想法?
我在谷歌地图论坛中搜索了一下,发现了这个主题:http: //groups.google.com/group/google-maps-js-api-v3/browse_thread/thread/ef6e8e2942421bab/ff3739505eb833df?pli = 1.取消事件传播到地图解决了这个问题.
归档时间: |
|
查看次数: |
3853 次 |
最近记录: |