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

时间:2018-03-12 15:34:30

标签: apache http browser geolocation leaflet

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

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

  • Mozilla Firefox(最新版本)
  • 谷歌浏览器(最新版本)
  • Microsoft Edge

在IE中,它给了我弹出窗口以允许定位自己,它只能运行一次。如果我试图再次找到自己,它的行为就像上面的其他浏览器一样。

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

request to get current location and locates just fine

它也可以在localhost中工作,或者如果我使用位置防护浏览器扩展来使我的位置成为一个固定点。

造成这个问题的原因是什么?是因为它不是https吗?

1 个答案:

答案 0 :(得分:1)

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

Chrome

  

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

Firefox

  

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

中可用

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