百度地图集成(一)

来源:互联网 发布:顶级域名多少钱 编辑:程序博客网 时间:2024/06/06 14:59

大家都知道地图是我们生活中不可或缺的一部分了,下面为大家献上即成百度地图的集成方法

今天为大家带来的是百度地图API的对接方法,首先要申请一个密钥,这个是必须的,不然掉不起百度地图的



申请之后你会得到一个密钥


如果不想注册你可以直接拿我上面的随身地图定位的密钥来用,只要你不觉得看着麻烦,下面就是集成API部分的内容了

可以点击这里去下载百度地图最新的Demo,里面有他们最新的API文件。找到之后我们拿出我们需要的Framework,是7个


然后我们需要找到mapapi.bundle文件,这个里面放的是一些图片和Framework需要的文件



然后我们需要添加系统的库

CoreLocation.framework

QuartzCore.framework

OpenGLES.framework

SystemConfiguration.framework

CoreGraphics.framework

Security.framework

libsqlite3.0.tbd(xcode7以前为 libsqlite3.0.dylib)

CoreTelephony.framework 

libstdc++.6.0.9.tbd(xcode7以前为libstdc++.6.0.9.dylib)

这总共是9个,如果不对,或许有的库你已经添加了,不需要去管,添加之后截图是这样的:


下面我们需要引入头文件了,这里我在PCH文件里面引用的头文件,不建议大家在PCH文件中引入太多的头文件,但是我不仅是在一个页面使用地图, 所以在头文件中引入了

如果大家不知道怎么引用PCH文件的话,点击这里去查看博主的另外一篇文章


然后我们需要在TARGETS->Build Settings->Other Linker Flags 中添加-ObjC




OK之后,我们需要来到AppDelegate.h文件中

创建对象

@property (strong, nonatomic) BMKMapManager * mapManager;


在.m文件中初始化一下

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    // 要使用百度地图,请先启动BaiduMapManager    _mapManager = [[BMKMapManager alloc]init];        // 如果要关注网络及授权验证事件,请设定     generalDelegate参数    BOOL ret = [_mapManager start:BaiDu_API_Key  generalDelegate:nil];    if (!ret)    {        NSLog(@"开启定位失败!");    }            ViewController * MainVc = [[ViewController alloc]init];    self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];    self.window.rootViewController = MainVc;    [self.window makeKeyAndVisible];    return YES;}

下面我们需要在ViewController.h文件中设置代理和地图对象


进入.m文件,这里要注意,在

- (void)viewWillAppear:(BOOL)animated

设置delegate=self,

- (void)viewWillDisappear:(BOOL)animated

设置delegate=nil




切记切记!!!!,因为地图的占用内存量还是挺大的,再不用的时候还是为nil,如果不nil释放不掉,占用很大的内存

然后初始化地图

- (BMKMapView *)mapView{    if (!_mapView)    {        _mapView = [[BMKMapView alloc]initWithFrame:CGRectMake(0, 50,KSCREENWIDTH , KSCREENHEIGHT-KNagHEIGHT)];        [_mapView setZoomLevel:15];  //设置地图比例        //切换为普通地图        [_mapView setMapType:BMKMapTypeStandard];        [self.view addSubview:_mapView];    }    return _mapView;}

最后把你的ViewController.m修改成ViewController.mm文件,不要问我为什么,我不会告诉你我也不知道的* *!,哈哈!!!

最后我们运行出来的效果是这样的


这里我就先集成显示地图好了,因为我今天要回家,我很兴奋,哈哈大家先看着,后期我会集成定位,搜索,路线规划,点聚合功能,地理编码功能

本人长期混迹于这两个群里面吹牛逼,如果有同样爱好的人可以加群

341545727

98787555


0 0
原创粉丝点击