2015-02-23 72 views
1

Google Maps API已於2/17更新,並且對我造成了一些問題。我幫助維護了一些未被積極開發但仍在使用的遺留應用程序。更新後,一堆他們停止正常工作。主要問題是一個相當簡單的修復。他們中的大多數沒有指定具體的版本,所以他們使用的是實驗分支。我能夠瞄準3.19,他們又開始工作了。Google Maps 2.0 API問題

我的更大的問題是仍然使用API​​版本2.0的應用程序。我知道建議升級到3.0版,但正如我所說,這個應用程序正在維護。它正在工作,所以沒有理由花時間更新它。最新的更新後,它已停止工作。

我知道,當他們拉上API 2.0插件時,他們留下了一個3.0左右的包裝,以供傳統使用。有誰知道這是否因最新更新而改變?是否可以定向包裝器使用的API 3的版本?是否有其他人看到類似的更新問題?

這裏是失敗的

function loadMap() { 

    try 
    { 

     mmap = new GMap2(document.getElementById("map"), { draggableCursor: 'crosshair', draggingCursor: 'move' }); 
     geocoder = new GClientGeocoder(); 

    } 
    catch (Error) { 
     mmap = null; 

     return "NG"; 
    } 

    mmap.setCenter(new GLatLng(0, 0), 2); 
    mmap.addControl(new GLargeMapControl()); 
    mmap.addControl(new GMapTypeControl()); 
    mmap.enableScrollWheelZoom(); 
    mmap.enableDoubleClickZoom(); 
    mmap.enableContinuousZoom(); 

    return "OK"; 

我從.NET應用程序調用此,它是返回null的代碼。

Object something = wb.Document.InvokeScript("loadMap"); 

它可能只是需要更新到v3,但我不知道爲什麼它一直工作,然後突然停止。

回答

1

我在做了一些更多的挖掘後終於找到了解決方案。它似乎是一個錯誤和WebBrowser控件的組合。使用最新版本的API在IE兼容模式下打破。谷歌已經證實了這個錯誤並正在修復。很明顯,WebBrowser控件必須以兼容模式運行並導致錯誤。

我能夠加入

<!DOCTYPE html> 

在頁面的頂部和

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" /> 

head標籤內解決它。

https://code.google.com/p/gmaps-api-issues/issues/detail?id=7675