Обработчики кликов для маркера Google Map v3 обработаны z-index?

Моя карта Google (v3) отображает два типа маркеров:

  1. Маркер области («Ваш дом находится в этой области»), полупрозрачный рисунок с кружком, обозначающий приблизительную область на карте.

  2. Множество маркеров достопримечательностей (пляжи, рестораны, магазины и т. Д.)

У каждого маркера аттракционов есть обработчик кликов, который открывает информационное окно («Жучки Боба - лучшие жареные жуки в городе!»). Регистрация обработчика кликов также создает обработчики наведения, которые изменяют указатель мыши на руку, отображают всплывающую подсказку и т. Д., Что нормально. Я не определяю обработчиков событий для маркера области.

Однако для маркеров аттракционов, которые находятся в пределах диапазона маркера области, не срабатывают ни обработчики щелчка, ни наведения. Я бы предположил, что это проблема с z-индексом, что как-то большой маркер области лежит поверх маркеров аттракционов, перехватывает события наведения / щелчка и не пропускает их. Фактически, наведение курсора на маркер области приводит к его всплывающей подсказке, предполагающей, что он определенно захватывает событие.

Я установил z-индексы для различных маркеров - высокий z-индекс для маркеров достопримечательностей, низкий z-индекс для маркеров площади. Визуальный рендеринг и изучение модели DOM предполагает, что значения z-index на самом деле устанавливаются так, как я хочу.

Но каким-то образом пересекающиеся маркеры достопримечательностей не получают события щелчка / наведения. Другие маркеры достопримечательностей правильно реагируют на их события наведения / щелчка. Фактически, для маркера аттракциона, который только частично пересекается с маркером области, внешняя часть маркера реагирует на события наведения / щелчка.

Согласно этому ответу, Попробовал позвонить:

google.maps.event.clearInstanceListeners(this.areaMarker);

в надежде, что, возможно, на пути есть обработчики по умолчанию. Нет любви.

Есть ли способ сказать маркеру области, чтобы он не мешал? Любые другие идеи приветствуются.


person David Weinraub    schedule 17.05.2011    source источник
comment
Может быть, вы нажимаете на маркер области, который возвращает false и, таким образом, останавливает распространение (пузырение) на маркеры?   -  person enoyhs    schedule 17.05.2011
comment
@enoyhs Интересная идея. ;-) Раньше у меня не было добавленных обработчиков на маркер области. Итак, я только что добавил один, который ничего не делает, кроме return true. Не повезло. ;-( Но спасибо за идею!   -  person David Weinraub    schedule 17.05.2011


Ответы (1)


Похоже, решение состоит в использовании оверлея ImageMapType для маркер области. Эти оверлеи не будут перехватывать какие-либо события наведения / щелчка.

person David Weinraub    schedule 23.05.2011