2011-05-30 234 views
6

V3 API代碼。地圖不顯示Google Maps API V3

function initialize() 
{ 
    if (GBrowserIsCompatible()) 
    { 
     var ch = new GLatLng (0,0); 

     var myOptions = { 
      zoom:7, 
      center: ch, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 

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

     directionsDisplay = new google.maps.DirectionsRenderer(map, document.getElementById("map")); 
     directionsDisplay.setMap(map);     
    } 
} 

帶有V2 API的代碼。

function initialize() 
{ 
    if (GBrowserIsCompatible()) 
    { 
     map = new GMap2 (document.getElementById("map")); 
     map.setCenter (new GLatLng(0,0),1); 
    } 
} 

V2 API代碼完美地工作,V3 API代碼不顯示任何地圖。 我錯過了什麼?

編輯 修改了V3的代碼如下,但仍然沒有地圖:

var chicago = new google.maps.LatLng (0, 0); 

var myOptions = { 
    zoom:1, 
    center: chicago, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
} 

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

回答

13

確保您加載正確的谷歌地圖API,你有一個帶有地圖ID的div標籤,以及(爲了更好的衡量標準),您給div賦予了一個高度和寬度。 (也許最好把高度和寬度放在樣式表中,但爲了清晰起見,我在這裏將它包括在內)。

這是一個帶有編輯後代碼的網頁。嘗試一下。適用於我。

<html> 
<head> 
<title>Google Map test</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
</head> 
<body> 
<div id="map" style="height:500px;width:500px"></div> 
<script> 
var chicago = new google.maps.LatLng (0, 0); 

var myOptions = { 
    zoom:1, 
    center: chicago, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
} 

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

@Ray @ wong2最後這個解決了,如果沒有你的幫助,我無法完成!問題是這行'

1

在V3中,所有的名字都變了。例如,GLatLng現在是google.maps.LatLng。您將需要修改您的代碼以使用新名稱。

的情況下,一個link to the docs你沒有它

+0

謝謝,但沒有改變任何東西:(地圖仍然沒有顯示! – 2011-05-30 13:12:32

+0

好吧我只是拋出'if(GBrowserIsCompatible())'語句完全沒有改變。 code.google.com/apis/maps/documentation/javascript/reference.html#DirectionsRoute它在V2上可用嗎? – 2011-05-30 13:23:02

+0

也許是個愚蠢的問題,但是您確定document.getElementById(「map」)實際上是在查找DOM元素? – Ray 2011-05-30 13:24:48

1

有一個在V3沒有GLatLng,將其更改爲google.maps.LatLng

center: chicago, 
+0

我編輯了上面的代碼,但它沒有幫助:( – 2011-05-30 13:14:29

+0

@AnishaKaul:I已經更新了我的回答 – wong2 2011-05-30 13:16:00

+0

我也試過了,沒有幫助:(這個文檔顯示它沒有引號:http://code.goog le.com/apis/maps/documentation/javascript/tutorial。html#HelloWorld – 2011-05-30 13:18:41

0

我有相同的症狀,我的V2地圖不會顯示V3。當我查看瀏覽器控制檯日誌時,發現錯誤:Uncaught ReferencedError:GBrowserIsIncompatible未定義。

根據Google V2 to V3 Migration Guide,不再支持GBrowserIsIncompatible。我沒有找到替代方案,只是刪除了與此功能相關的邏輯。這site suggests just removing the function

我發現遷移中的其他問題,這些問題在上面的Google遷移指南鏈接中提到。

0

1-確保您的Google地圖API密鑰正確無誤。

2-它可能未在您的谷歌地圖控制檯中啓用。

3-錯誤地啓用了位置API而不是地圖API。