iOS 百度地图SDK使用漫谈

来源:互联网 发布:光环大数据培训官网 编辑:程序博客网 时间:2024/05/20 17:27

去年九月份开始断断续续做一些地图相关的功能,一开始我更倾向于使用iOS自带的高德地图,但是考虑到项目中安卓部分(坐标系需要各种转换),最后还是使用百度地图来使用。下面介绍一下我用百度地图SDK的一些过程和细节。


一、导入SDK

1、使用Pod的时候,导入非常慢,甚至导入失败

1.1、建议使用  d 'BaiduMapKit', '~> 3.0.0'命令来导入。

尝试过使用别的命令,以及pod search baidumap 出来的命令,都导入失败了。

1.2、导入过程很慢,可能需要10分钟及更长,建议耐心等待。


2、按照百度SDK要求,将  Build Settings - Compile Sources AS 改为object-c++时,可能会有别的文件报错。这时将Compile Sources AS 改为 According To File Type 就好了。

参考文章:http://blog.csdn.net/mad1989/article/details/40590371

比如我的一个c语言文件,就报 poinitialize-string for char array is too long。


3、下面的东西有一个没有配置,就可能导致某些(不是全部)功能不能使用

1)KEY没有配,或者错误;

2)没有Bundle Display Name;

3)   info.plist 没有相关配置


二、使用

1、使用模拟器有时候看不到地图,也没有收到系统提示“是否允许应用使用数据”。使用真机测试就可以了,不用在这里浪费时间。



2、地理编码方法(即根据关键字,查询地址信息),使用下面方法无效。

 BMKGeoCodeSearchOption *geoCodeSearchOption = [[BMKGeoCodeSearchOption alloc]init];

    geoCodeSearchOption.city@"深圳";

    geoCodeSearchOption.address = @"购物公园";

    BOOL flag = [self.geocodesearch geoCode:geoCodeSearchOption];



所以还是使用了原生的 CLGeocoder 的方法,但是获取的经纬度信息可能和百度不一致。

 CLGeocoder *geocoder=[[CLGeocoder alloc]init];

    

    [geocoder geocodeAddressString:@"购物公园" completionHandler:^(NSArray*placemarks,NSError*error) {





三、自定义地图覆盖OverLay














0 0
原创粉丝点击