2010-02-17 58 views
0

代碼:谷歌地球瀏覽器插件不加載KML文件中的某些瀏覽器

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--沒有失敗的模式。

失敗的插件是與工作插件相同的版本。

這對我來說正變成一個拉毛事件,因爲我只是看不到失敗在哪裏。

編輯:

只是爲了明確的 - 它是工作在所有這些瀏覽器和所有的操作系​​統 - 但並非總是如此,而又沒有統一......

沒有在JavaScript或沒有變化KML它工作和不工作之間。

的KML是一個有效的文件

所有瀏覽器都報告說,他們使用的是相同的插件版本

+0

它適用於哪些瀏覽器? – SLaks

+0

錯誤控制檯中是否有任何錯誤消息? –

+0

它已經在FF,Chrome,IE7和IE8上運行過了 - 它已經在XP,Vista和Windows 7上運行過了 - 並不是所有的時間都在同一臺計算機上運行。在螢火蟲控制檯中沒有任何錯誤 - 只是插件版本,這與我們測試過的任何地方(在8臺不同的計算機上)都是一樣的 - 這是令人煩惱的事情。 – HorusKol

回答

0

弗雷澤該評論已提醒的是,這個問題是開着...

我們有通過追加一個唯一的ID來解決問題,該ID在服務器上的KML數據更新時會重新生成。

這似乎破壞了GE緩存,我們不再在插件中加載丟失或過期數據時遇到任何問題。