Я делаю коллаж из карты Google (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.Любые идеи о том, как обойти это?