获取当前地理位置js方法?

<script type="text/javascript" >
var weizhi='{$weizhi}';
if(!weizhi){
    var geolocation = new BMap.Geolocation();
    // 创建地理编码实例      
    var myGeo = new BMap.Geocoder();
    geolocation.getCurrentPosition(function(r) {
        if (this.getStatus() == BMAP_STATUS_SUCCESS) {
            var pt = r.point;
            // 根据坐标得到地址描述    
            myGeo.getLocation(pt,
            function(result) {
                console.log(result);
                if (result) {
                    var addComp = result.addressComponents;
                    
                }
            });
        }
    });
}
</script>

报错
getCurrentPosition() and watchPosition() are deprecated on insecure origins, and support will be removed in the future. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.

阅读 5k
2 个回答

获取用户地理位置必须在一个安全的环境中。比如使用了 https 协议的页面中。这么做主要是因为浏览器考虑用户的隐私安全。

这只是一个 Warning ,现在应该在非加密协议下的页面中还是可以使用,但将来会完全禁止。

<script type="text/javascript">

// 百度地图API功能
var map = new BMap.Map("allmap");
var point = new BMap.Point(116.331398,39.897445);
map.centerAndZoom(point,12);

function myFun(result){
    var cityName = result.name;
    map.setCenter(cityName);
    alert("当前定位城市:"+cityName);
}
var myCity = new BMap.LocalCity();
myCity.get(myFun);

</script>

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题