使用 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语言的解决方案