【问题标题】:How to change the style of a marker from a KML file?如何更改 KML 文件中标记的样式?
【发布时间】:2012-06-05 23:11:27
【问题描述】:

我正在尝试更改 googlemaps 中 KML 文件中标记的样式。当我在 googleearth 中运行文件时,标记是不同的。当我在 googlemaps 中运行它时,它的外观与以前相同。为什么会这样?

这是 kml 文件的开头:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.google.com/earth/kml/1">
<Document>

<Style id="bendigo">
<BalloonStyle>
    <text>$[description]</text>
</BalloonStyle>
<IconStyle>
    <Icon>
        <href>http://maps.google.com/mapfiles/kml/paddle/grn-blank.png</href>
    </Icon>
  </IconStyle>
</Style>

<name>kml_sample1.kml</name>
<Placemark>
 <name>Boat</name>
 <description><![CDATA[
  Boat<br />
  <p>Home page: <a href="google.com">google.com</a></p>
 ]]>
 </description>

 <styleUrl>#bendigo</styleUrl>

<Point>
<!--run a javascript to get data points-->
  <coordinates>7.666037,64.32565</coordinates>
</Point>

【问题讨论】:

    标签: html google-maps-api-3 kml google-earth


    【解决方案1】:

    您上面的 KML sn-p 缺少 Placemark、Document 和 kml 的结束标记。

    修复后,我可以将 KML 加载到 Google 地图中,并且看起来很好(绿色标记)。

    最近对 Google 地图中呈现的 KML 进行了更新,这可能暂时影响了这一点,但我无法确定,因为它现在对我来说可以正常工作。如果您确认它现在看起来不错,那可能就是问题所在。

    【讨论】:

    • 嗯,我不明白(我知道它缺少 sn-ps,它只是必不可少的部分)。但现在它起作用了。从我更改 kml 文件到看到结果之间似乎有很长的延迟。您知道为什么会出现这种情况以及如何处理吗?哦,我写的代码现在可以工作了:-/
    • 您的 KML 缓存在 Google 的服务器上。但是(这是几个月前最近添加的)缓存应该尊重您的缓存标头 - 最短缓存时间为 5 分钟。因此,您将缓存标头设置为至少 5 分钟,如果仅出于测试目的需要立即更新,您可以添加随机 url 参数以获取未缓存的副本(但请不要在您的生产站点上这样做!)
    • 您有参考资料,我可以每 5 分钟重新缓存一次吗?
    • 你想要缓存控制“max-age=300”。如何设置取决于您提供数据的方式(例如,通过 IIS、apache、django 等)。但是您应该可以很容易地为您的服务器查找它。
    猜你喜欢
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 2012-06-14
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多