如何在javascript中保存函数外部的变量值

如何在javascript中保存函数外部的变量值,javascript,google-maps,scope,Javascript,Google Maps,Scope,我是JavaScript新手,我试图制作一个简单的GoogleMaps,它以我当前的位置为中心,我发现保存纬度和经度以使地图居中存在问题 以下是我采用的代码: function initialize() { var latitudeCenter; var longitudeCenter; navigator.geolocation.getCurrentPosition(onSuccess, onError); function onSuccess(position){ console.

我是JavaScript新手,我试图制作一个简单的
GoogleMaps
,它以我当前的位置为中心,我发现保存纬度和经度以使地图居中存在问题

以下是我采用的代码:

function initialize() {
 var latitudeCenter;
 var longitudeCenter;
 navigator.geolocation.getCurrentPosition(onSuccess, onError);
 function onSuccess(position){
 console.log(position.coords.latitude, position.coords.longitude);
 latitudeCenter = position.coords.latitude;
 longitudeCenter = position.coords.longitude;
 }
 function onError(error){
 alert('Error en GPS: ' + error);
 }
var mapOptions = {
 zoom: 8,
 center: new google.maps.LatLng(latitudeCenter, longitudeCenter)
};
map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);
console.log('latitud: ' + latitudeCenter + ' longitud: ' + longitudeCenter);
}
在第一个控制台日志中,我可以读取当前位置和纬度,因此该方法可以正常工作,但当我尝试将其保存在centerLatitude和centerLatitude中时,它不起作用,显示为undefined


感谢您的帮助

因此,成功和错误的函数是异步的,因此您不会马上得到答案。因此,您将实际地图初始化代码放入该
onSuccess

function initialize() {
    var latitudeCenter;
    var longitudeCenter;
    navigator.geolocation.getCurrentPosition(onSuccess, onError);

    function onSuccess(position){
        console.log(position.coords.latitude, position.coords.longitude);
        latitudeCenter = position.coords.latitude;
        longitudeCenter = position.coords.longitude;

        var mapOptions = {
            zoom: 8,
            center: new google.maps.LatLng(latitudeCenter, longitudeCenter)
        };

        map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);
    }

    function onError(error){
        alert('Error en GPS: ' + error);
    }


    console.log('latitud: ' + latitudeCenter + ' longitud: ' + longitudeCenter);
}