2012-12-06 47 views
3

我不斷收到此錯誤的特性「經緯度」「遺漏的類型錯誤:無法讀取的未定義的屬性‘經緯度’」:谷歌地圖遺漏的類型錯誤:無法讀取未定義

試圖建立一個地圖
在頭上時
<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js"/> 
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&sensor=true"></script> 

.............

function init(){ 


      var latlng = new google.maps.LatLng(-43.552965, 172.47315); 
      var myOptions = { 
       zoom: 10, 
       center: latlng, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 

      }; 
      map = new google.maps.Map(document.getElementById("map"), myOptions); 


     } 

.............

<body> 
     <div id="map" style="width:600px;height: 600px;"> 
     </div> 
     <ul class="navigation"> 
     </ul> 
    </body> 
+0

哪些錯誤呢?我只提供相關信息 – mike628

+1

爲了便於閱讀,您應該關心代碼的縮進情況,堆疊器可以更輕鬆,更快地閱讀,理解和回答您的問題。 – Engineer

+2

您的jQuery腳本標記未正確關閉。 http://stackoverflow.com/questions/69913/why-dont-self-closing-script-tags-work – 2012-12-06 14:44:54

回答

3

貌似這個問題是這樣的:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js"/> 
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&sensor=true"></script> 

應該是:如果一起使用,

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js"></script> 
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&sensor=true"></script> 
+1

就是這樣。謝謝 – mike628

+3

對於其他誰有這個錯誤 - 請確保DIV也加載。 –

0

你什麼時候運行你的init函數? 如果init函數在google.js加載之前運行,則可能會出現此錯誤。

嘗試像這樣調用init函數。

function init(){ 
     //... 
} 
google.maps.event.addDomListener(window, 'init', Initialize); 
+0

根據我的Chrome瀏覽器開發工具,google.maps爲null – mike628

+0

檢查https://開頭地圖.googleapis.com/maps/api/js?v = 3&sensor = true js已加載? –

7

兩個問題的答案上面會解決這個問題。屬性LatLng未定義,因爲google對象尚不可用。

您總是關閉您的<script>標籤期限。

google直到DOM加載後,對象纔可用。所以在你的JavaScript你必須使用谷歌地圖的addDomListener()。卡拉的解決方案是正確的,但它不會在你的情況下工作,因爲函數名稱是init和addDomListener必須等待「加載」。你將需要:

google.maps.event.addDomListener(window, 'load', init); 

這裏的另一個非常簡單的解決方案是將回調添加到腳本

src="https://maps.googleapis.com/maps/api/js?v=3&sensor=true&callback=init 

回調將等待腳本加載,然後觸發init函數來初始化和借鑑你的地圖。

我把解決方案上CodePen這裏http://codepen.io/redbirdisu/pen/BHivq

相關問題