Leaflet.js - 在某些浏览器上无法获取我的当前位置

问题描述 投票:0回答:1

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

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

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

在 IE 中,它会弹出一个窗口,允许我定位自己,并且它有效......仅一次。如果我尝试再次定位自己,它的行为就像上面的其他浏览器一样。

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

request to get current locationand locates just fine

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

导致此问题的原因是什么?是不是因为不是https?

apache http browser geolocation leaflet
1个回答
2
投票

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

对于 Chrome

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

对于 Firefox

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

根据 MDN 上的nice 支持网格,Opera 和 Safari 也应该需要 https 才能启用地理定位。

© www.soinside.com 2019 - 2024. All rights reserved.