记录使用百度地图3.0遇到的问题,以防以后在遇到.
1. onGetPermissionState 203
检查Bundle identifier是否对应;检查使用的key是否是项目中需要的,有时候使用不对应的key也可以成功实现部分功能.
2. 放大不显示街道和房屋信息;地图放大或缩小后出现空格;直接出现满屏空格.
检查是否使用Bundle identifier对应的key.
3.直接根据百度地图demo,感觉定位偏差过大
百度本身偏差都大,建议使用设备直接下载百度地图查看自己的位置,拿百度地图和自己的APP定位作比较,一样的话就是百度的问题,不一样的话就是你代码的问题.
4.进行设置路线规划的时候上面代码中‘new BMKMapPoint[planPointCounts]’报错
将对应的类后缀修改为.mm
5.百度地图设置setMapPadding无效问题
在设置地图mapView的时候需要直接写物理尺寸,不能使用约束.
如:
//有效
[self.mapView setFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), CGRectGetHeight(self.view.frame))];
[self.mapView setMapPadding:UIEdgeInsetsMake(50, 0, 0, 0)];
//使用Masonry添加约束无效
[self.mapView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.view.mas_left);
make.right.mas_equalTo(self.view.mas_right);
make.top.mas_equalTo(self.view.mas_top);
make.bottom.mas_equalTo(self.view.mas_bottom);
}];
6.使用百度导航没有语音播报,需要TTS认证,然后需要在导航TTS平台中进行注册申请.
关于坐标的扩展
地球坐标 (WGS84)
国际标准,从 GPS 设备中取出的数据的坐标系
国际地图提供商使用的坐标系
火星坐标 (GCJ-02)也叫国测局坐标系
中国标准,从国行移动设备中定位获取的坐标数据使用这个坐标系
国家规定: 国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。
百度坐标 (BD-09)
百度标准,百度 SDK,百度地图,Geocoding 使用
从设备获取经纬度(GPS)坐标
如果使用的是百度sdk那么可以获得百度坐标(bd09)或者火星坐标(GCJ02),默认是bd09
如果使用的是ios的原生定位库,那么获得的坐标是WGS84
如果使用的是高德sdk,那么获取的坐标是GCJ02
用来记录平时遇到的问题,不对之处还望斧正,如有好的见解还望指教.











网友评论