gpt4 book ai didi

jquery - 禁用 OverlayView div 占用区域中的 Google map 'click' 事件

转载 作者:行者123 更新时间:2023-12-03 22:41:02 28 4
gpt4 key购买 nike

我正在制作一个谷歌地图(v3)混搭,其中有一个用于点击事件的 map 监听器。

google.maps.event.addListener(map, 'click', function(event) {addMarker(event)});

map 上的此单击事件会创建一个新标记。但是,我还在单击标记时使用 jQuery 按钮构建了 OverlayView(在谷歌地图的 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'));

}

单击 jQuery 按钮后,jQuery 按钮单击事件和谷歌地图单击事件都会被触发,但我只想触发 jQuery 按钮单击。

我仍然想启用 map 单击事件,只是不在 OverlayView div 所在的位置启用。关于如何解决这个问题有什么想法吗?

最佳答案

我在谷歌地图论坛中仔细搜索了一下,发现了这个主题:http://groups.google.com/group/google-maps-js-api-v3/browse_thread/thread/ef6e8e2942421bab/ff3739505eb833df?pli=1 。取消向 map 的事件传播解决了该问题。

关于jquery - 禁用 OverlayView div 占用区域中的 Google map 'click' 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5124802/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com