Обработчики кликов для маркера Google Map v3, заблокированные z-index? - PullRequest
0 голосов
/ 17 мая 2011

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

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

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

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

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

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

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

За этот ответ , я пытался позвонить:

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

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

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

1 Ответ

0 голосов
/ 23 мая 2011

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

...