从嵌套函数返回值-JavaScript

最大的里格比

我在为以下函数返回latLng值时遇到麻烦。

function getUserPosition() {
    var latLng;

    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(
            function (position) {
                latLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); // #1
            }, function () {
                latLng = defaultPosition(); // #2
            }
        );
    } else {
        latLng = defaultPosition(); // #3
    }

    return latLng;
}

假定defaultPosition()返回一组有效的坐标。

我已经标记了三个latLng作业,这是我最新的“全面捕获”方法的一部分,但是仍然没有运气。

我已经检查了其他相关的答案,但似乎仍然无法解决我的特定问题,因此,很抱歉重新发布。

提前致谢。

阿伦·约翰尼(Arun P Johny)

由于location API的异步特性,您无法执行此操作,而是需要使用基于回调的方法,一旦locaion API返回该值,则将调用回调函数。

function getUserPosition(callback) {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(

        function (position) {
            callback(new google.maps.LatLng(position.coords.latitude, position.coords.longitude));
        }, function () {
            callback(defaultPosition()); // #2
        });
    } else {
        callback(defaultPosition()); // #3
    }
}

getUserPosition(function(latLng){
    //do all operations that depends on latLng here in the callback function
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章