iOS9更新后,navigator.geolocation.getCurrentPosition不再在Safari移动设备中运行

时间:2015-09-22 15:00:09

标签: javascript safari geolocation ios9 navigator

我有一个网络应用程序,其中包含用于获取用户坐标的代码:

if (navigator.geolocation) {
   navigator.geolocation.getCurrentPosition(function(position) {  

但是当我更新到iOS9时,它就不再起作用了。我甚至不再获得Safari提示,请求获得我的位置许可。更新到iOS9后能解决此问题的其他人吗?

3 个答案:

答案 0 :(得分:5)

我自己已经注意到了这一点,我想知道iOS 9 Webkit是否已经开始阻止这种工作通过HTTP,因为我知道Chrome将很快阻止它,因为它目前在Web控制台中抛出以下警报。

  在不安全的情况下,不推荐使用

getCurrentPosition()和watchPosition()   起源和支持将在未来被删除。你应该   考虑将您的应用程序切换到安全的来源,例如HTTPS。   有关详细信息,请参阅https://goo.gl/rStTGz

答案 1 :(得分:0)

尝试在iOS的常规设置中启用本地化。设置>本地化>按本地化以启用它。 现在它有效。

似乎iOS 9在安装后已禁用设置中的本地化。

答案 2 :(得分:-1)

如果您在Mac上运行,则需要为safari启用位置服务: enable location on OSX