مكون مكونات Browser Google Earth لا يتم تحميل ملف KML في بعض المتصفحات

StackOverflow https://stackoverflow.com/questions/2277838

سؤال

الشفرة:

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 - لا يوجد نمط للفشل.

الإضافات الفاشلة هي نفس الإصدار مثل الإضافات العاملة.

لقد أصبح هذا حدثًا في تسليط الشعر بالنسبة لي لأنني لا أستطيع رؤية مكان الفشل.

تعديل:

فقط لتوضيح - إنه يعمل في كل تلك المتصفحات وكل تلك OSS - ولكن ليس دائمًا ، وليس باستمرار ...

لا يوجد تغيير في JavaScript أو KML بين العمل وعدم العمل.

KML هو وثيقة صالحة

تشير جميع المتصفحات إلى أنها تستخدم نفس إصدار البرنامج المساعد

هل كانت مفيدة؟

المحلول

ذكر التعليق من فريزر أن هذا السؤال قد ترك مفتوحًا ...

لقد حلنا المشكلة عن طريق إلحاق معرف فريد يتم تجديده كلما تم تحديث بيانات KML على الخادم.

يبدو أن هذا ينهي ذاكرة التخزين المؤقت GE ولم يعد لدينا أي مشاكل مع بيانات مفقودة أو خارج التاريخ التي يتم تحميلها في البرنامج المساعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top