我们正在使用带有KML Feed的GMaps来显示地图上的位置。这是一个例子:
http://jugendinfo.de/themen.php/873/geo.html
此地图上的图钉应为红色,因此我在KML生成器中使用以下PHP4代码来设置颜色:
$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地图。
答案 0 :(得分:3)
如果您想更改图像,请使用IconStyle。我不认为颜色规范在谷歌地图中有效,但您可以为地标指定自定义图标图像网址。
<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