2012-10-22 154 views
0

如何將新標記添加到地圖?我設法顯示地圖function startGoogleMaps() 但我的功能(onclick()),不起作用。將標記添加到谷歌地球

function startGoogleMaps(){  
    var map = new google.maps.Map(document.getElementById('canvasMap'), { 
     zoom: 5, 
     center: initCenter, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    });    
} 

document.getElementById("testButton").onclick = function(){ 
    var marker = new google.maps.Marker({ 
     position: (37, -97), 
     map: map, 
     title:"Hello World!"}); 
} 
+0

在哪裏標記應該出現嗎?即什麼是位置(37,-97)'? – jsalonen

+0

緯度/經度 – Andrew

+0

問題出在'位置:(37,-97)'需要它成爲'new google.maps.LatLng(37,-97)' – Andrew

回答

2

嘗試定義map對象在同一範圍內,你有約束力的單擊事件:

var map = null; 

function startGoogleMaps(){  
    map = new google.maps.Map(document.getElementById('canvasMap'), { 
     zoom: 5, 
     center: initCenter, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    });    
} 

document.getElementById("testButton").onclick = function(){ 
    var marker = new google.maps.Marker({ 
     position: (37, -97), 
     map: map, 
     title:"Hello World!"}); 
} 

另外請注意,你需要通過爲google.maps.LatLng實例您的位置:

 ... 
     position: google.maps.LatLng(37, -97), 
     ... 
1

請記住,JavaScript使用功能範圍。你需要申報map全球範圍內,像這樣:

var map; 

function startGoogleMaps(){  
    map = new google.maps.Map(document.getElementById('canvasMap'), { 
     zoom: 5, 
     center: initCenter, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    });    
} 

document.getElementById("testButton").onclick = function(){ 
    var marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(37, -97), 
     map: map, 
     title:"Hello World!"}); 
} 

此外,標記本身可能是你的地圖的範圍之內,所以你可以使用map.fitBounds來正確顯示:

document.getElementById("testButton").onclick = function(){ 
    var marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(37, -97), 
     map: map, 
     title:"Hello World!"}); 

    var latlngbounds = new google.maps.LatLngBounds(); 
    latlngbounds.extend(new google.maps.LatLng(37, -97)); 
    map.fitBounds(latlngbounds); 
} 
+0

當我使用'map.fitBounds(latlngbounds);'我的地圖消失 – Andrew