2

我有这个函数试图在调用时将纬度和经度作为字符串返回。但是,当我用警报调用它时,它返回未定义。但是当我提醒 data.coords.latitude/longitude 它给了我正确的值。任何帮助是极大的赞赏。

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

2 回答 2

4

getCurrentPosition()期望回调:

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

getLocation(alert);
于 2012-09-26T21:58:57.767 回答
0

我更改了代码,因此回调会在 getCurrentPosition 返回时提醒信息

function RequestLocation() {
            navigator.geolocation.getCurrentPosition(function (data) {
                SendLocation(String(data.coords.latitude + ',' + data.coords.longitude));
            });
        }
        function SendLocation(cords)
        {
            alert(cords);
        }

        RequestLocation();
于 2012-09-26T21:56:30.513 回答