Плагин браузера Google Планета Земля не загружает файл KML в некоторых браузерах - PullRequest
0 голосов
/ 17 февраля 2010

код:

google.load("earth", "1");

function gemap_init()
{
  google.earth.createInstance('gemap', initCB, failureCB);
}

function initCB(instance)
{
  try {
    ge = instance;
    ge.getWindow().setVisibility(true);

    console.log(ge.getPluginVersion());

    google.earth.fetchKml(ge,
      'http://example.com.au/maps/example.kml',
      function (kmlObject) {
        if (kmlObject) {
          ge.getFeatures().appendChild(kmlObject);
        }

        if (kmlObject.getAbstractView() !== null) {
          ge.getView().setAbstractView(kmlObject.getAbstractView());
        }
      }
    );
  } catch (e) {
    console.log(e);
  }
}

function failureCB(errorCode)
{
  alert(errorCode);
}

google.setOnLoadCallback(gemap_init);

по какой-то причине это работает во всех браузерах на моем ПК, но когда я тестирую на случайных компьютерах и в браузерах по всему офису, он не отображает маркеры или не перемещает камеру из kml.

Операционные системы и браузеры варьируются от XP до Vista, и с использованием FF, Chrome, IE7, IE8 - нет сбоев.

плагины с ошибками - это та же версия, что и рабочие плагины.

для меня это становится волнующим событием, так как я просто не вижу, где провал.

EDIT:

просто чтобы прояснить - он работает во всех этих браузерах и во всех этих ОС - но не всегда и не последовательно ...

нет изменений в javascript или kml между тем, что он работает и не работает.

кмл является действительным документом

все браузеры сообщают, что они используют одну и ту же версию плагина

1 Ответ

0 голосов
/ 02 июля 2010

Комментарий Фрейзера напомнил, что этот вопрос остался открытым ...

Мы решили проблему, добавив уникальный идентификатор, который создается заново при обновлении данных KML на сервере.

Это, похоже, разрушает кеш GE, и у нас больше нет проблем с отсутствующими или устаревшими данными, загружаемыми в плагин.

...