2016-09-09 35 views
-1

我在我的網站上使用Google地圖來顯示2個位置。當我按下不同位置的按鈕時,我想要一張地圖並更新地圖。這是JS代碼。單擊按鈕時更新地圖位置

var map; 
var lat = 53.4779168; 
var lng = -2.2338925; 

function initMap() { map = new google.maps.Map(document.getElementById('map'), { center: { lat: lat, lng: lng }, zoom: 17 }); }; 
$(document).ready(function() { 


$("#picadilly").click(function() { 
    lat = 53.4779168; 
    lng = -2.2338925; 
}); 


$("#didsbury").click(function() { 
    lat = 53.410346; 
    lng = -2.229417; 

}); 


}); 

它似乎是註冊,我按下按鈕,但它不會更新地圖的位置。有任何想法嗎?

+0

請提供CodePen - codepen.io – Tom

+0

您不調用'initMap()'。 [小提琴](http://jsfiddle.net/geocodezip/pcjcpy86/) – geocodezip

+0

http://codepen.io/naomilea/pen/rrOVBp – Naomi

回答

1

您只需在點擊事件功能下使用map.setCenter(LatLng)移動地圖即可。此方法不會使用任何其他標記,也不會刪除現有的標記。您也可以通過panTo(LatLng)功能移動地圖。這兩種方法在地圖初始化後也可用。

$("#picadilly").click(function() { 
    lat = 53.4779168; 
    lng = -2.2338925; 
    map.setCenter({lat:lat , lng:lng}); 
}); 


$("#didsbury").click(function() { 
    lat = 53.410346; 
    lng = -2.229417; 
    map.setCenter({lat:lat , lng:lng}); 
}); 

這裏是documentation這些方法。