调用百度地图api,仅ios手机app端出现页面首次不能加载端情况。
ios手机 app 第一次进入页面会报错,页面一直加载不出来,返回再进入就可以。安卓不会出现这种情况。页面使用了定位功能,获取城市以及经纬度。
页面是一个H5网点地图页面插件
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition( function(res) { //定位结果对象会传递给r变量
if(this.getStatus() == BMAP_STATUS_SUCCESS){ //通过Geolocation类的getStatus()可以判断是否成功定位。
var point = new BMap.Point(res.point.lng, res.point.lat);
var geoc = new BMap.Geocoder();
geoc.getLocation(point, function(res) {
var City = res.addressComponents.city.replace("市", "");
self.city = City;
var userLocation = {
"Latitude": res.point.lat,
"Longitude": res.point.lng,
"City": City
}
console.log(userLocation);
self.getLocationCallback(userLocation);
console.log("百度定位")
})
}else{
switch( this.getStatus() ){
case 2:
MessageBox.alert({message:"位置结果未知 获取位置失败."});
break;
case 3:
MessageBox.alert({message:"导航结果未知 获取位置失败.."});
break;
case 4:
MessageBox.alert({message:"非法密钥 获取位置失败."});
break;
case 5:
MessageBox.alert({message:"对不起,非法请求位置 获取位置失败."});
break;
case 6:
MessageBox.alert({message:"对不起,当前 没有权限 获取位置失败."});
break;
case 7:
MessageBox.alert({message:"对不起,服务不可用 获取位置失败."});
break;
case 8:
MessageBox.alert({message:"对不起,请求超时 获取位置失败."});
break;
}
}
},
{enableHighAccuracy: true})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论