Web - 如何在同意共享位置后获取用户位置?

时间:2018-04-25 12:30:12

标签: javascript html5 geolocation location mapbox

当我在页面加载后调用它时:

navigator.geolocation.getCurrentPosition(success, error, options)它会抛出错误: [违规]仅响应用户手势请求地理位置信息。

我在Mac上使用Chrome v65。我需要在页面加载时共享用户的位置。这适用于已经同意共享其位置的用户。

如果我在Chrome的Web控制台中模拟该位置,它可以通过getCurrentPosition或watchposition可靠地始终获取该位置。我注意到不同的wifi连接也更可靠地提供了这些信息。任何人都可以添加任何有关这方面的见解吗?

1 个答案:

答案 0 :(得分:1)

违规只是解释了会发生什么:由于安全原因,调用 getCurrentPosition 应该是由用户的意图触发,例如点击按钮获取当前位置。因此,Chrome将阻止在没有用户手势的情况下获取网页加载地理位置信息的请求。

请参阅more information

的以下资源
  

用户对页面加载时自动请求其位置的页面不信任或混淆。不是在页面加载时自动请求用户的位置,而是将请求绑定到用户的手势,例如点击“查找我附近的商店”按钮。确保手势清楚明确地表达了对用户位置的需求。