调用百度地图api,仅ios手机app端出现页面首次不能加载端情况。

发布于 2022-09-06 05:32:32 字数 1239 浏览 10 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文