地理位置,共享位置对话框

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访问用户的当前位置信息

根据 lync 位置在共享点中显示位置

删除位置侦听器

如果在后台使用位置,更新到 Android 11 是不是需要应用显示另一个位置权限对话框?

Android 使用 Google 的位置服务对话框