【问题标题】:Leaflet.js - can't get my current location on some browsersLeaflet.js - 在某些浏览器上无法获取我的当前位置
【发布时间】:2018-03-13 00:23:34
【问题描述】:

我使用 Leaflet.js 和这些插件制作了这个applicationMarkerClusterLeaflet Map Fullscreen,它托管在 Linux 服务器中,HTTP apache2。

由于某种原因,我无法在以下浏览器上获取当前位置:

  • Mozilla Firefox(最新版本)
  • 谷歌浏览器(最新版本)
  • 微软边缘

在 IE 中,它给了我一个弹出窗口来授予我定位自己的权限,并且它工作......只有一次。如果我尝试再次定位自己,它的行为就像上面的其他浏览器一样。

而且,如果我在 Instagram dm 中打开链接,它就可以正常工作...

它也适用于本地主机,或者如果我使用位置保护浏览器扩展来使我的位置成为一个固定点。

是什么导致了这个问题?是不是因为不是https?

【问题讨论】:

    标签: apache http browser geolocation leaflet


    【解决方案1】:

    如果您想在大多数(如果不是所有)现代浏览器上支持地理定位,则必须切换到 https。

    对于Chrome

    从 Chrome 50 开始,Chrome 不再支持获取 使用 HTML5 Geolocation API 从交付的页面获取用户的位置 通过非安全连接。这意味着正在制作的页面 地理定位 API 调用必须从安全上下文中提供服务,例如 HTTPS。

    对于Firefox

    此功能仅在安全上下文 (HTTPS) 中可用 [...]

    根据nice support grid on MDN,Opera 和 Safari 也应该需要 https 来启用地理定位。

    【讨论】:

    • 是的,我也是这么想的,我也得出了这个结论,但我想从 SO 社区获得一些反馈,所以我不会犯任何错误,非常感谢您抽出宝贵的时间,祝您有美好的一天。
    猜你喜欢
    • 1970-01-01
    • 2018-06-25
    • 2020-04-10
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多