不少时候要定位到当前所在的位置,谷歌地图 API 没找到,而后网上搜的是经过原生js geolocation来实现的。javascript
代码以下:html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <div id="demo"></div> </head> <body> <script type="text/javascript"> var x=document.getElementById("demo"); getLocation(); function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); } else{x.innerHTML="Geolocation is not supported by this browser.";} } function showPosition(position) { var lng = position.coords.longitude; var lat = position.coords.latitude; var site = lat.toFixed(6)+','+lng.toFixed(6); console.log(site) document.getElementById("demo").innerHTML = site; } </script> </body> </html>
当发现能实现以后,确实是心里特别欣喜。然而,放到服务器端,就会有警告提示: getCurrentPosition() and watchPosition() are deprecated on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.
java
翻译一下,大体意思以下:getCurrentPosition()
和 watchPosition()
这两个方法在不安全的环境下不建议使用,在之后的规范可能不会支持。你应该考虑appliaction
的安全性,好比使用https。详细状况请看https://goo.gl/rStTGzgit
由于获取位置信息,以及监控位置的变化这些操做都属于敏感性操做,因此browsers
在执行都会很是谨慎。它须要你在安全的环境而且获取用户的赞成才会执行。因此,用https
协议 会正常显示的。安全
谷歌了很久,貌似都是这个意思,若是你们有其它办法,还望赐教。O(∩_∩)O~服务器