使用 html 获取当前位置并将其与 javascript 一起使用

Posted

技术标签:

【中文标题】使用 html 获取当前位置并将其与 javascript 一起使用【英文标题】:get current Position with html and use it with javascript 【发布时间】:2014-01-12 12:23:50 【问题描述】:

我想使用 html5 获取我当前的位置并将其与 javascript 一起使用。 我做了一些测试,它可以工作,但在我的最终版本中,我有一个 undefined 值。

function geolocError(dueToBrowser=true)
    if(dueToBrowser)
        alert('your browser does not support HTML5 geolocation');
    else
        alert('error with geolocation');
       




function getPositon()
    return navigator.geolocation.getCurrentPosition(function(position)
        return position.coords;
    , geolocError);


$(document).ready(function() 



    if(navigator.geolocation) 
        var pos = getPositon();

        console.log(pos)

);

我的console.log(pos); 回复我"undefined"

【问题讨论】:

【参考方案1】:

地理位置是异步的,你不能这样做。您应该在 getCurrentPosition 回调中设置逻辑或使用延迟对象:

参见例如jsFiddle

var defer = $.Deferred();

function getPositon() 
    navigator.geolocation.getCurrentPosition(function (position) 
        defer.resolveWith(position.coords);
    , geolocError);
    return defer;


$(document).ready(function () 
    if (navigator.geolocation) 
        getPositon().done(function () 
            console.log(this);
        );
    
);

【讨论】:

感谢它的工作,但它是一个坏新。我的想法是在加载时在每个页面上都有位置。例如,我想用我的位置发表评论,但我不希望用户等待发布它的请求:(这是一种将位置存储在 cookie 中的解决方案? 我使用 sessionStorage 而不是 cookie

以上是关于使用 html 获取当前位置并将其与 javascript 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript 获取当前完整的 URL 并将其与 jQuery 一起使用

iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法

如何获取 IST 格式的当前系统时间并将其与 HH:mm:ss 格式的时间(字符串数据类型)进行比较? java语言的解决方案

获取 YouTube 视频缩略图并将其与 PHP 一起使用

如何获取当前位置并将纬度和经度作为字符串?

如何从标头中正确获取 jwt 令牌并将其与 express 一起使用