iOS百度地图3.0开发遇到的部分问题

记录使用百度地图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

用来记录平时遇到的问题,不对之处还望斧正,如有好的见解还望指教.

你可能感兴趣的:(iOS百度地图3.0开发遇到的部分问题)