我有一個嚴重的問題,我一直在嘗試調試幾天。 我有一個腳本獲取用戶當前的經緯度,然後將它們存儲在變量中。然而,當我嘗試在這個函數之外和// init地圖區域中使用這些變量時,地圖只是沒有顯示出來。通過提醒我可以看到的位置函數變量被設置爲「未定義」的變量。這裏是我的代碼:變量傳遞不工作 - 值未定義
//main function here
function initialize() {
var lat;
var lon;
//check if user has geo feature
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(
//get position
function(position){
lat = position.coords.latitude;
lon = position.coords.longitude;
},
// if there was an error
function(error){
alert('ouch');
});
}
//case the users browser doesn't support geolocations
else {
alert("Your browser doesn't support geolocations, please consider downloading Google Chrome");
}
//init map
var myOptions = {
center: new google.maps.LatLng(lat, lon),
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
感謝您的幫助,林依晨
這不是我的問題,我的問題是,在「center:new google.maps.LatLng(lat,lon)」變量lat和lon顯然沒有任何valval。 – arielschon12 2012-03-09 17:10:59
@ arielschon12如果你的'console.log(position.coords.latitude,position.coords.longitude);'在那個函數中,你會得到什麼? – 2012-03-09 17:39:14
@ arielschon12更新了我的答案! – 2012-03-09 17:55:19