Google Maps v3 API: слой KML работает с кликом, событиями мыши - PullRequest
1 голос
/ 15 августа 2010

Я работаю над проектом, в котором после создания какого-то приятного кода для создания полигонов и присоединения к ним событий мыши добавление слоев KML (в основном меток) приводит к нежелательному взаимодействию между заполнителями слоя KML и сгенерированнымpolygons.

Если я сначала создаю полигоны, а затем устанавливаю KML-файл, то при нажатии меток места появляется infowindow (), как и ожидалось.Тем не менее, наведение курсора на полигоны ниже не дает никакого результата, тогда как до того, как они будут выделены и доступны для щелчка мышью (а это не так).

Установка нулевого слоя KML также не помогает.Метки мест исчезают, но мои полигоны не регистрируются.

Когда я впервые вызываю KML с метками меток, слой полигонов, вызываемый позже, помещается поверх меток мест.Полигоны непрозрачны, поэтому вы можете видеть метки через окно, но вы не можете щелкать или взаимодействовать с метками.

Установка полигонов на ноль приводит к тому же поведению, что и раньше.Заполнители по-прежнему нельзя нажимать.

Справка?Я не смог найти ссылку zIndex для кода слоя KML, и я надеюсь, что это все, что есть.Я читал где-то еще - и представляю, что это правда - что «слои» KML и пользовательского контента конфликтуют друг с другом - последний, помещенный на карту, фокусируется, фиксирует события и т. Д. Я бы подумалчто это не имеет значения, точно так же, как вы можете иметь div поверх других div, особенно если вы используете индексацию.

1 Ответ

4 голосов
/ 19 августа 2010

Если вы просто хотите отобразить информацию в слое KML и не дать ей реагировать на пользовательские события, вы можете добавить флаг suppressInfoWindows в конструктор:

 var myKmlLayer = new google.maps.KmlLayer('http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml', { suppressInfoWindows: true });

Это эффективно отключит все взаимодействия и позволит другим слоям получать взаимодействия.

Редактировать: забыл упомянуть, что хорошим источником информации является сайт Google API V3, в котором обсуждаются слои KML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...