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>
注意获取到的经纬度信息是腾讯地图的经纬度信息,不同地图用的经纬度互相都不一样
如果要使用于其他地图的定位(如百度地图),要去找类似于:(腾讯经纬度转百度经纬度)的转化方法才能使用。