iphone手机微信端html5 Geolocation定位失效的问题

使用Geolocation方法存在错误信息error.POSITION_UNAVAILABLE

其实问题不局限于微信端而是iphone升级到ios10后,对获取地理位置信息作出了限制,只有https的方式才能获取

然而用腾讯地图的api可以直接获取,代码如下:

<script  type="text/javascript" src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js" ></script>   
<script>  
    function qq_position() {  
        var geolocation = new qq.maps.Geolocation("OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77", "myapp");  
        if (geolocation) {  
            var options = {timeout: 8000};  
            geolocation.getLocation(showPosition, showErr, options);  
        } else {  
            alert("定位尚未加载");  
        }  
    }  
    function showPosition(position) {  
        console.log(position);  
    }  
    function showErr(err) {  
     //所有可能的错误  
        console.log(err);  
    }  
</script>   

注意获取到的经纬度信息是腾讯地图的经纬度信息,不同地图用的经纬度互相都不一样

如果要使用于其他地图的定位(如百度地图),要去找类似于:(腾讯经纬度转百度经纬度)的转化方法才能使用。

原文地址:https://www.cnblogs.com/henuyuxiang/p/7524708.html