调用百度地图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})
阅读 3.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题