如何将动态kml添加到谷歌地球?

时间:2011-12-14 06:37:55

标签: javascript kml google-earth

我们正试图将动态kml添加到google earth.But我们在一种情况下失败了。

CODE:

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()函数。我们可以在google earth上第一次获得kml。如果我们第二次点击,那么我们就不会在google earth上获得kml。但是{{1文件正在更新新值。那么,我们如何从google earth中删除kml?

帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

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

您可以安排服务器告诉浏览器它无法缓存文件 - 使用HTTP标头。取决于您的服务器如何设置它。

...或者只是安排每次更改的网址。

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

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