用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 >
qq_position();
function qq_position(){
var geolocation = new qq.maps.Geolocation("4WNBZ-M3CRP-ETZDU-LVM75-ABUEE-AMBL3", "ajx");
if(geolocation){
var options = { timeout: 8000 };
geolocation.getLocation(showPosition, showErr, options);
}else{
alert("定位尚未加载");
}
}
function showPosition(position) {
//console.log(position);
var location = position.lat+','+position.lng;
}
function showErr(err) {
console.log(err);
}
</script>
注意获取到的经纬度信息是腾讯地图的经纬度信息,不同地图用的经纬度互相都不一样
如果要使用于其他地图的定位(如百度地图),要去找类似于:(腾讯经纬度转百度经纬度)的转化方法才能使用。
未经允许不得转载:小罗同学 » iphone手机微信端html5 Geolocation定位失效的问题