使用navigator.geolocation.getCurrentPosition();同步

时间:2012-09-26 21:13:16

标签: javascript html5 geolocation

我有这个函数试图在调用时将纬度和经度作为字符串返回。但是,当我用警报调用它时,它返回undefined。但当我提醒data.coords.latitude /经度时,它给了我正确的值。非常感谢任何帮助。

function GetLocation() {
    var jsonLocation;
    navigator.geolocation.getCurrentPosition(function (data) {
        jsonLocation = data.coords.latitude+','+data.coords.longitude;
    });
    return String(jsonLocation);
}
alert(GetLocation());

2 个答案:

答案 0 :(得分:4)

getCurrentPosition()期待回调:

function getLocation(callback) {
    navigator.geolocation.getCurrentPosition(function (data) {
        var jsonLocation = data.coords.latitude+','+data.coords.longitude;
        callback(jsonLocation);
    });
}

getLocation(alert);

答案 1 :(得分:0)

我更改了代码,因此当getCurrentPosition返回

时,回调会提醒信息
function RequestLocation() {
            navigator.geolocation.getCurrentPosition(function (data) {
                SendLocation(String(data.coords.latitude + ',' + data.coords.longitude));
            });
        }
        function SendLocation(cords)
        {
            alert(cords);
        }

        RequestLocation();