2011-11-19 136 views
2

我得到我的網站上的錯誤只是想實現基本的「Hello World」應用程序:谷歌地圖V3,錯誤消息「谷歌是未定義」

<div id="map"></div> 

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script> 

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

我得到的錯誤是:

'Uncaught ReferenceError: google is not defined'

我該如何解決這個問題?

+0

您不應該指定版本,但應該使用googleapis.com域名而不是google.com;兩者都應該有效,但前者優於後者。你能否告訴我們完整的代碼,例如myOptions中有什麼? – duncan

回答

15

你的來源是錯的,我也建議specifing要加載的準確版本:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?v=3&sensor=true"></script> 

這應該幫助。

從您的代碼
+1

謝謝!這解決了它,令人討厭的是它在我的本地服務器和我的linux/apache主機上工作的很好,當我將它移動到我的生產框時,它又死了,再次感謝! – user499846

+1

此外,請確保您使用的IE8而不是https的HTTP ...不知道爲什麼 – Guus

1

許多事情:

  1. 你給document.ready但沒有jQuery鏈接

  2. document.ready必須是內部<script>標籤</script>

  3. 你也應該已經給出heightwidthdiv其中喲你拿着地圖,因爲它只是一個空標籤。

  4. 您已經定義爲myOptions地圖,並沒有什麼解釋的地圖爲哪些選擇,同時加載地圖**

這是一個完整的例子來加以考慮:

<html> 
<body> 

<div id="map" style="width:500px;height:500px;"></div> 
<script type="text/javascript" src="Please put your jquery here"></script> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script> 
<script type="text/javascript"> 
var myLatlng = new google.maps.LatLng(40.65, -73.95); 
    var myOptions = { 
    zoom: 13, 
    center: myLatlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
$("document").ready(function() { 

    map = new google.maps.Map(document.getElementById("map"), myOptions); 
}); 
</script> 
</body> 
</html> 
+0

嗨對不起,這是我的複製pastery完整的失禮 - 我確實使用jQuery的庫,並已附上腳本標籤jcall到文檔就緒功能,我設法錯過了我的選擇部分的代碼示例 - 抱歉很難調試出我知道的正確信息,但沒有任何錯誤會導致在控制檯中看到錯誤。 – user499846

2

如果您的主站點位於https平臺且地圖位於http中,則有時會發生在瀏覽器Google Chrome中。爲了顯示地圖,你在URL框中有一個盾牌,只需點擊盾牌,它就會顯示出來。

+0

你是對的當我添加https停止工作 – Jaypal

+0

使用相對協議指示: