2014-02-17 169 views
-1

我正在使用Google Maps API v = 3(使用v = 2,同樣的問題)。我曾嘗試過最新的Chrome,最新的Firefox,最新的IE11。我可以顯示地圖並平移到新的中心,但我無法獲得標記顯示。以下是腳本標題:Google地圖不會顯示標記

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js" 
    type="text/javascript"> 
</script> 
<!-- Load Google Maps Javascript API --> 
<script src="http://maps.google.com/maps?file=api&v=3" 
    type="text/javascript"> 
</script> 

而當用戶在表格中的特定位置單擊時,將調用以下函數。頁面上有一張地圖,地圖會移動到新位置,但標記從不出現。

function setMapCenter(map, latitude, longitude) 
{ 
    var center = new google.maps.LatLng(latitude, longitude); 
    map.panTo(center); 
    var marker = new google.maps.Marker({position: center,map: map,title: 'HERE'}); 
} 

有沒有人在這裏看到問題?謝謝。

我做了一個非常簡單的頁面,展示了這個問題。加載頁面,點擊任何緯度經度的鏈接,並看到地圖平移到新的位置 - 但沒有標記顯示。這裏是:http://www.glenn-nelson.us/marker.html

+0

有沒有錯誤?你是否正確傳遞了'map','lat'和'lng'? – Andy

+0

當'map.panTo(center)'在那裏工作不應該有任何問題,你可以給我們一個問題的演示或更多的代碼? –

+0

發佈的代碼中沒有任何內容可以解釋問題,需要更多的上下文,您是否可以提供重現問題的完整示例?或者,您能否提供一個jsfiddle或鏈接到您的地圖,以顯示問題?您可能需要查看文檔並更新您的API腳本,您所使用的方式已過時,但應該可以工作。 – geocodezip

回答

0

該解決方案既是一個更新的Google Maps API規範,也是一個用於初始地圖​​創建的不同語法。我的示例鏈接已更新以顯示工作版本。

GOOD:

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

function initialize() { 
    var center = new google.maps.LatLng(37.3000, -122.0000); 
    mymap = new google.maps.Map(document.getElementById("map_div"), 
       {zoom: 11, 
        center: center, 
        mapTypeId: google.maps.MapTypeId.ROADMAP 
       }); 
    marker = new google.maps.Marker({position: center,map: mymap,title: 'HERE'}); 
} 

這裏的BAD代碼我開始與:

<script src="http://maps.google.com/maps?file=api&v=3" 
    type="text/javascript"> 
</script> 

function initialize() { 
    var center = new google.maps.LatLng(37.3000, -122.0000); 
    mymap = new google.maps.Map(document.getElementById("map_div")); 
    mymap.setCenter(center, 11); 
    map.addControl(new GSmallMapControl()); 
    map.addControl(new GMapTypeControl()); 
    marker = new google.maps.Marker({position: center,map: mymap,title: 'HERE'}); 
} 

雖然這可能會產生一個圖,並呼籲以map.setCenter()或map.panTo()會工作,它無法顯示任何標記。此外,當我將API腳本更改爲新格式「http://maps.google.com/maps/api/js?sensor=false」時,我的地圖DIV變得灰暗。而使用舊的初始化函數的新的API腳本格式也給了我灰色。

因此,具有較舊地圖構造的舊API指定是可以的,但標記根本不顯示。 帶有新地圖構造的新API名稱也允許我查看標記。