GMaps через KML: изменить цвет меток - PullRequest
1 голос
/ 27 января 2011

Мы используем GMaps с фидом KML для отображения местоположений на карте.Вот пример:

http://jugendinfo.de/themen.php/873/geo.html

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

$snode = $dom->create_element('Style');
$styleNode = $docNode->append_child($snode);
$styleNode->set_attribute('id', 'normalPlacemark');

$lnode = $dom->create_element('LabelStyle');
$labelNode = $styleNode->append_child($lnode);

$cnode = $dom->create_element('color');
$colorNode = $labelNode->append_child($cnode);

$colorText = $dom->create_text_node('ffcc0000');
$colorNode->append_child($colorText);

В результате получается следующий код KML:

<Style id="normalPlacemark">
  <LabelStyle>
    <color>ffcc0000</color>
  </LabelStyle>
</Style>

Полный источник KML можно загрузить из этого местоположения:

http://jugendinfo.de/feeds/geo.php/873.kml

Однако цветстиль кажется не уважаемым.Без какого-либо элемента стиля в документе KML контакты даже не отображаются.Как мне изменить цвет?Документы API, кажется, очень ограничены в этой проблеме, и примеры фрагментов кода PHP даже довольно глючные, я не мог получить никаких подсказок, как заставить это работать.Похоже, что большинство примеров применимо к Google Планета Земля вместо Google Maps.

1 Ответ

3 голосов
/ 31 января 2011
  • LabelStyle на самом деле относится к цвету метки, которая рисуется в Google Earth, а не к цвету изображения кнопки.
  • Цвет в KML указывается в следующем формате aabbggrr, где a if alphab синий, r красный в шестнадцатеричном, поэтому он отличается от rrggbb, который используется в сети

Если вы хотите изменить изображение, используйте IconStyle.Я не думаю, что цветовая спецификация работает в картах Google, но вы можете указать собственный URL-адрес изображения значка для своей метки.

<Style id="normalPlacemark">
    <IconStyle>
             <color>ff00ff00</color>
                         <Icon>
                <href>http://maps.google.com/mapfiles/kml/pal3/icon21.png</href>
             </Icon>
          </IconStyle>
</Style>

Ссылка: http://code.google.com/apis/kml/documentation/kmlreference.html#iconstyle

...