2015-12-22 38 views
1

我知道這個問題被問了多次,但其他所有線程都沒有解決我的問題。 我的問題是:我有基於角度的應用程序和一些頁面使用谷歌地圖在地圖上顯示項目。一切工作正常,我沒有改變任何一行代碼,並注意到谷歌地圖現在不工作。谷歌地圖:ReferenceError - 谷歌沒有定義

我有谷歌腳本索引文件導入,在主要頁面,甚至不使用它:

<script src="http://maps.google.com/maps/api/js?sensor=true&libraries=places&language=ru-RU"></script> 

請打開這個網址http://yuppi.com.ua去安慰,等待3秒,將顯示這些錯誤。

ReferenceError: google is not defined  stat.js 
ReferenceError: google is not defined  util.js 
ReferenceError: google is not defined  common.js 
+0

您是否參考過Maps JS Library? Maps for JS的[入門](https://developers.google.com/maps/documentation/javascript/tutorial)對此進行了進一步討論。您也可能正在使用[Places JS API](https://developers.google.com/maps/documentation/javascript/places)。請注意,他們爲地圖提供不同的用途。 – adjuremods

回答

1

顯然,在script.js file下面的代碼出現由於這些錯誤:

yuppiApp.run(function($rootScope, $window) { 
    $rootScope.$on("$locationChangeStart", function() { 
     Object.keys($window).filter(function(k) { 
      return k.indexOf("google") >= 0 
     }).forEach(function(key) { 
      delete $window[key] 
     }) 
    }) 
}); 

delete $window[key]刪除從window對象google財產,這反過來又休息谷歌地圖加載庫(google是Google Maps API的根名稱空間)。

我不知道爲什麼google屬性在你的情況越來越刪除,但指定的行一次,例如,有評論說:

yuppiApp.run(function($rootScope, $window) { 
    $rootScope.$on("$locationChangeStart", function() { 
     //Object.keys($window).filter(function(k) { 
     // return k.indexOf("google") >= 0 
     //}).forEach(function(key) { 
     // delete $window[key] 
     //}) 
    }) 
}); 

錯誤就會消失。

+1

你是對的,我刪除了該功能,並再次運作。添加此功能是爲了製作Google Adsense。 –

0

似乎你正在使用谷歌地圖是實際加載的API之前。該API是異步加載的,因此您必須確保在加載時參考它。 要做到這一點,我知道2種方式:

  • 您可以使用「回調」查詢參數與全球範圍的功能,您將在初始化地圖元素:

    <script src="http://maps.google.com/maps/api/js?sensor=true&libraries=places&language=ru-RU&callback=initMap"></script> 
    
  • 導入谷歌裝載機而不是API本身並用它來管理你的JS代碼的API負載:

    <script type="text/javascript" src="https://www.google.com/jsapi"></script> 
    

    然後

    google.load('maps', '3.exp', { 
        other_params: 'sensor=true&language=ru-RU&libraries=places', 
        callback: function() { 
         // You can now init your maps 
        } 
    }); 
    
相關問題