I ' m создание мэшапа google map (v3), где есть прослушиватель карты для события клика.
google.maps.event.addListener(map, 'click', function(event) {addMarker(event)});
Это событие щелчка на карте приводит к созданию нового маркера. Однако я также создаю OverlayView (в floatPane карты Google) с кнопкой jQuery при нажатии маркера.
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, так и событие щелчка по карте Google, но я хочу, чтобы срабатывала только кнопка jQuery.
Я все еще хочу включить событие щелчка по карте, но не где расположен div OverlayView. Есть идеи, как обойти это?