2

很多时候要定位到当前所在的位置,谷歌地图 API 没找到,然后网上搜的是通过原生js geolocation来实现的。

代码如下:

<!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.

翻译一下,大致意思如下:
getCurrentPosition()watchPosition()这两个方法在不安全的环境下不建议使用,在以后的规范可能不会支持。你应该考虑appliaction的安全性,比如使用https。详细情况请看https://goo.gl/rStTGz

因为获取位置信息,以及监控位置的变化这些操作都属于敏感性操作,所以browsers在执行都会非常谨慎。它需要你在安全的环境并且获取用户的同意才会执行。所以,用https协议 会正常显示的。

谷歌了好久,貌似都是这个意思,如果大家有其它办法,还望赐教。O(∩_∩)O~


旅图灬
913 声望43 粉丝

任何事物都有它的正反面,研究技术要全面