как добавить динамический кмл в гугл земля?

Мы пытаемся добавить динамический kml в Google Earth. Но у нас не получается в одной ситуации.

КОД:

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 в первый раз в Google Earth. Если мы нажимаем второй раз, мы не получаем kml в Google Earth. Но файл test.kml обновляет новые значения. Итак, как мы можем удалить кмл из Google Earth?

Помощь приветствуется.


person Unknown    schedule 14.12.2011    source источник


Ответы (1)


fetchKml, я полагаю, использует браузер для извлечения файла. Обычно он кэширует файл, если не указано иное.

Вы можете настроить сервер так, чтобы он сообщал браузеру, что он не может кэшировать файл, используя заголовки HTTP. зависит от вашего сервера, как это настроить.

... или просто сделайте так, чтобы URL-адрес каждый раз менялся.

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

или похожие. Сервер, скорее всего, проигнорирует поддельный параметр. Но поскольку URL-адрес изменился, у браузера не будет кешированной версии.

person barryhunter    schedule 14.12.2011