有两种方法,您可以简单地将时间戳或随机查询字符串附加到 KMZ 请求 url。这实质上使每个对数据的请求都是唯一的,从而避免了任何缓存问题。
例如,您可以创建 KMZ 的 url 并像这样附加一个 UNIX 时间戳。
var kmz = "http://localhost/your.kmz?x=" + (new Date()).getTime();
像这样产生独特的结果。
http://localhost/your.kmz?x=1365635454757
http://localhost/your.kmz?x=1365635478881
另一种方法是使用网络链接(如果您还没有这样做)加载您的 KMZ 文件,这样您就可以准确控制何时再次检查新数据,从而避免缓存问题。这样,页面根本不需要刷新 - kml 文件中指向您的数据的简单网络链接可以通过将刷新间隔设置为重新加载文件之前的秒数来工作。
就像是。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<NetworkLink>
<name>your file</name>
<flyToView>1</flyToView>
<Link>
<href>http://localhost/your.kmz</href>
<refreshMode>onInterval</refreshMode>
<refreshInterval>86400</refreshInterval><!-- 24 hours -->
</Link>
</NetworkLink>
</kml>