ios百度地图实现过程中需要注意的地方以及解决的办法

1.去百度官网注册一个apikey 用来告诉百度自己用百度地图,

 网址:http://lbsyun.baidu.com/apiconsole/key  注:这个是新的key(新旧key不一样,不能互用)

2.去 官网:http://developer.baidu.com/map/sdkiosdev-8.htm下载相关的库文件;

3.主要的就是那个libbaidumapapi.a静态库文件:

    a.下载的文件中会有两个这样的.a静态库文件,你需要合并这两个静态库,(不合并,会导致你每次模拟器和真机测试的时候需要总切换)

       1)首先下载官方的库文件

       2)打开libs文件夹,你可以看到模拟器和真机两个文件夹

       3)打开终端,进入lib这个文件夹执行:lipo -create Release-iphoneos/libbaidumapapi.a Release-iphonesimulator/libbaidumapapi.a -output libbaidumapapi.a

       4)就可以看到一个合并后的静态库出现了,然后你以删除这两个文件夹中的静态库,(只删除静态库,即:.a文件)其他的头文件导进去工程目录 

    b.下来就是按照文档导入相应的库文件,

    c.去设置中search Path中设置静态库文件的地址(路径设置为你静态库存储本地的地址)图1为你静态库所在的目录,图2为你设置的路径

图1图2

4.注册百度地图,使用你刚才申请的apiKey(按照官方文档进行)

到这步应该会出现了百度地图

定位功能中会出现问题:(当你想将当前位置移动到用户所在的位置的时候)

注意:你必须实现百度地图的一个代理方法:

- (void)mapView:(BMKMapView *)mapView1 didUpdateUserLocation:(BMKUserLocation *)userLocation;

该方法中调用你的移动方法:

- (void)moveToUserLocation

{

    CLLocation *location = _mapView.userLocation.location;

    [_mapViewsetCenterCoordinate:(CLLocationCoordinate2D){location.coordinate.latitude,location.coordinate.longitude} animated:YES];

}

否则会出现白屏(切忌)

5.设置地图的比例尺:

   百度地图有很多属性,比例尺也是其中之一

  代码:

_mapView.zoomLevel = 14;

这个值有个范围:3-19;

数字越大,范围越详细,也就是比例尺越大,(14是我调整觉得合适的大小)

最后注意:

Xcode5时候估计会出现真机调试问题,错误提示:[__NSCFString stringFromMD5]: unrecognized selector sent to instance 0x1e56c

在文件夹中把某个.m文件修改为.mm文件,(我是修改的appdelegate.m -> appdelegate.mm)

这时候在设置中找打linking 中的other linker flags 添加参数:-all_load即可运行

  

posted @ 2013-12-11 17:19  NHW  阅读(853)  评论(0编辑  收藏  举报