地理位置,共享位置对话框
Posted
技术标签:
【中文标题】地理位置,共享位置对话框【英文标题】:geolocation, share location dialog 【发布时间】:2014-11-26 11:42:59 【问题描述】:如果您想在网络浏览器中了解用户的地理位置,您必须使用 html 5 api。调用函数时:
navigator.geolocation.getCurrentPosition(success)
会弹出一个对话框,询问用户是否要共享位置。我的问题是,是否可以知道用户何时单击确认。我想在用户单击确认按钮后在 html 页面上显示加载微调器。 (在手机上获取位置可能需要一些时间,我不希望在他按下确认按钮之前显示微调器,因为他可能会感到困惑)
【问题讨论】:
【参考方案1】:你试过这个代码吗?您可以添加回调函数,并在其中处理用户响应。
navigator.geolocation.getCurrentPosition(successCallback, errorCallback maximumAge:600000);
function successCallback(position)
// Handle Confirm button hit
function errorCallback(error)
// Other
【讨论】:
他需要一个回调,在用户按下确认后触发,但在确定位置后调用成功..【参考方案2】:navigator.geolocation.watchPosition(function(position)
//Succes Code
,
function (error)
if (error.code == error.PERMISSION_DENIED)
//Code when permission is not granted
);
我不确定,手机会对此做出很好的反应,但它可以在 PC 上运行。
【讨论】:
【参考方案3】:不,你不能。当您的地理位置代码执行时,请求转到浏览器,然后浏览器要求用户确认。如果用户接受,则请求继续,否则它将丢弃。因此,无论用户是否单击接受按钮,您都不会得到任何确认。但是您将通过使用错误 PERMISSION_DENIED
来了解用户是否被拒绝【讨论】:
以上是关于地理位置,共享位置对话框的主要内容,如果未能解决你的问题,请参考以下文章
Geolocation API JavaScript访问用户的当前位置信息