2014-01-18 84 views
-1

我最近開始在某個頁面上調用geocoder時發現異常。我非常肯定與圖書館有衝突,但我不確定它是什麼。這個調用非常簡單,因此任何其他操作都會干擾邏輯,這是非常令人驚訝的。異常時調用google.map.GeoCoder

new google.maps.Geocoder().geocode(
    {address:'San Francisco, CA'}, 
    function(results, status){ 
     alert(status); 
    } 
) 

這是堆棧跟蹤:

Uncaught TypeError: Cannot read property 'value' of undefined    VM41132:11 
    GZ                  VM41132:11 
    H.Rm                 VM41132:18 
    (anonymous function)             VM40916:1 
    (anonymous function)          %7Bmain,places%7D.js:258 
    (anonymous function)          %7Bmain,places%7D.js:887 
    M              %7Bmain,places%7D.js:244 
    Xf              %7Bmain,places%7D.js:886 
    ag              %7Bmain,places%7D.js:925 
    (anonymous function)             VM41132:19 
    (anonymous function)             VM41131:112 
    (anonymous function)          %7Bmain,places%7D.js:896 
    (anonymous function)          %7Bmain,places%7D.js:279 
    (anonymous function)          %7Bmain,places%7D.js:902 
    M              %7Bmain,places%7D.js:244 
    (anonymous function)          %7Bmain,places%7D.js:901 
    Uf.(anonymous function).cf        %7Bmain,places%7D.js:864 
    Vf.(anonymous function).Yc        %7Bmain,places%7D.js:893 
    Zf              %7Bmain,places%7D.js:907 
    (anonymous function)      %7Bcontrols,places_impl,geocoder%7D.js:2 

有沒有人遇到類似的問題?


EDITED

我猜,因爲沒有其他人遇到了這個問題,我會用這個線程共享解決方案時,我已經想通了。我將不得不逐塊刪除代碼,直到我可以縮小原因,然後找出如何處理它。它必須是非常簡單的東西,但我只想知道從哪裏開始。我最初的猜測有以下幾點:

  • 東西被初始化庫之前,它已準備好導致庫無法正常使用(同樣的問題與它的低效運行模式定期谷歌地圖API)
  • 一個全局變量改變,如果它是依靠一個
+0

我們需要看到更多的代碼,因爲它提供的代碼工作正常 –

+0

如果我知道哪個代碼塊導致問題,我已經做到了。我只是想知道是否有其他人遇到過類似的問題。在這個頁面上至少有5k行代碼在運行,這很可能是由我沒有親自添加的東西引起的。 – juminoz

回答

0

你必須對你的代碼拆分是這樣的:

var geocoder = new google.maps.Geocoder(); 
geocoder.geocode(
    {address:'San Francisco, CA'}, 
    function(results, status){ 
     alert(status); 
    } 
); 

google.maps.Geocode()是常量ructor,geocode()是一種方法。查看谷歌文檔Geocoding

+1

沒關係。我嘗試了兩種方法。在我的實際代碼中,這是它的樣子。我只是從控制檯複製上面的一個,只是爲了表明我沒有其他任何東西就調用它。這在用戶界面中可能會導致問題。 – juminoz

+0

其他代碼是什麼? –

+0

它應該是別的,因爲使用類似[geocoding-simple](https://developers.google.com/maps/documentation/javascript/examples/geocoding-simple)的示例沒有問題。 –