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 に答える