Проблема с настройкой слоя KML в Картах Google - PullRequest
0 голосов
/ 11 января 2011

У меня есть файл, который накладывает состояние предвыборных границ Нового Южного Уэльса на карту Google.Маркеры, которые появляются на каждом электорате, действительно уменьшают визуальное отображение карты.Я нашел, как отключить информационное окно, но не могу понять, как отключить все маркеры вместе.

Пример карты здесь:

http://www.codepress.com.au/nsw_lower_house_map.html

С отключенными маркерами, есть ли способ сделать так, чтобы весь полигон электората можно было активировать в JS?

1 Ответ

2 голосов
/ 11 января 2011

Чтобы сделать полигоны кликабельными, привязайте прослушиватель событий к слою после добавления слоя на карту

ctaLayer.setMap(map);
                google.maps.event.addListener(ctaLayer, 'click', function(kmlEvent) {
                    var text = kmlEvent.featureData.name;
                    alert(text);
                })

Приведенное выше сообщение будет оповещать имя объекта, на который вы щелкнули (при условии, что имя установлено вKML).ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: для того, чтобы полигоны могли быть «полезны», им нужно заполнение.Ваш KML-файл не имеет заливки, поэтому единственным кликом по области будет граница многоугольника.Вам нужно будет установить заливку, чтобы сделать эту функцию полезной.

В общем, объект функции KML возвращает следующие данные:

{
  author: {
    email: "nobody@google.com",
    name: "Mr Nobody",
    uri: "http://example.com"
  },
  description: "description",
  id: "id",
  infoWindowHtml: "html",
  name: "name",
  snippet: "snippet"
}

Опять - при условии, что они установлены в KML

Чтобы избавиться от маркеров, вам нужно изменить KML и удалить все метки и содержащую их папку, для которых не указаны полигоны - только данные точек (которые отображаются как маркер).Убедитесь, что вы повторно подтвердили свой XML после удаления.

Вот ваш файл без маркеров http://www.mediafire.com/?f9ewd0c5ymk3ccv.Однако вам нужно будет убедиться, что у ваших полисов есть набор заливки, в противном случае вы сможете только щелкнуть границы.

...