如何添加动态KML到谷歌地球

how to add dynamic kml to google earth?

本文关键字:动态 KML 谷歌地球 添加 何添加      更新时间:2023-09-26

我们正在尝试向google earth添加动态kml。但有一点我们失败了。

代码:

var currentKmlObject = null;
function loadkmlGE(){
     if (currentKmlObject != null) {
            ge.getFeatures().removeChild(currentKmlObject);
            currentKmlObject = null;
          }
    var url = 'test.kml';
    google.earth.fetchKml(ge, url, finished);
    }
function finished(kmlObject) {
      if (kmlObject) {
        currentKmlObject = kmlObject;
        ge.getFeatures().appendChild(currentKmlObject);
      } else {
        setTimeout(function() {
          alert('Bad or null KML.');
        }, 0);
      }
    }

当我们点击按钮时,我们正在调用loadkmlGE()函数。我们能够在谷歌地球上第一次获得kml。如果我们点击第二次,那么我们不会在谷歌地球上得到kml。但是test.kml文件正在更新新的值。那么,我们如何从谷歌地球上删除kml呢?

fetchKml我认为使用浏览器来获取文件。它通常会缓存文件,除非另有说明。

你可以安排服务器告诉浏览器它不能缓存文件-使用HTTP头。这取决于你的服务器如何设置。

…或者只是安排url每次更改。

var url = 'test.kml?rnd='+Math.random();

或类似。服务器可能会忽略虚假参数。但是由于URL已经更改,浏览器不会有缓存版本。