必赢亚洲56.net网页版:集成百度地图SDK的基本设

作者:计算机知识

百度地图SDK的一而再步骤.

1、建议先读书百度地图官方的持续指南,针对了Eclipse和Android Studio。

百度官方集成指南

1.百度地形图导入项目中。。。。

1.注册百度地图,成为其开荒者

登记百度地图开辟者

2.创制应用:申请获取密匙

成立应用拿到密匙

3.下载相关德姆o

下载相关德姆o

4.展开对应的demo,把BoundleId替换到注册的密匙,然后再把相应的key替换AppDelegate中的输入你的key,之后运营德姆哦,成功

1.iOS百度地图下载地址

======

2、下载百度地图SDK

Android SDK v4.1.1

和谐项目中集成为:

在温馨项目中如鱼得水

根据内部的手动配置.framework格局开采包要求做就能够,如此马到成功(此中的要把自由四个文书变为.mm文件,不那样做也是能够的(Xcode8))

什么样集成地图基本作用:

第一在AppDelegate中等射程序一齐动张开百度地图代码如下:

- (BOOL)application:(UIApplication *)application

didFinishLaunchingWithOptions:(NSDictionary *卡塔尔launchOptions {      // 要接受百度地图,请先运转BaiduMapManager

_必赢亚洲56.net网页版:集成百度地图SDK的基本设置,iOS百度地图SDK集成详细步骤。mapManager = [[BMKMapManager alloc]init];

// 若是要关切网络及授权验证事件,请设定    generalDelegate参数

BOOL ret = [_mapManager start:@"替换到您的key"  generalDelegate:nil];

if (!ret) {

NSLog(@"manager start failed!");

}

// Add the navigation controller's view to the window and display.

self.window.frame =[UIScreen mainScreen].bounds;

UINavigationController *nav =[[UINavigationController alloc]initWithRootViewController:[[BMKMainListViewController alloc] init]];

self.window.rootViewController =nav;

[self.window makeKeyAndVisible];

return YES;

}

遵照供给选用分化的本子  这里以自定义下载 开垦包 为案例下载这些

学科录制二回笔记

下载有二种:

个中下边包车型地铁2个方法要遵从BMKGeneralDelegate,完结才有用的

/**

*必赢亚洲56.net网页版,归来互联网错误

*@param iError 错误号

*/

- (void)onGetNetworkState:(int)iError {

if (iError) {

NSLog(@"error =%d",iError);

mAlertView(@"提醒", @"联网失败"卡塔尔;

}else {

NSLog(@"联网成功"卡塔尔(قطر‎;

}

}

/**

*回去授权验证错误

*@param iError 错误号 : 为0时证实通过,具体到场BMKPermissionCheckResultCode

*/

- (void)onGetPermissionState:(int)iError {

if (iError) {

mAlertView(@"提示", @"授权失利"State of Qatar;

NSLog(@"error =%d",iError);

}else {

mAlertView(@"提醒", @"授权成功"卡塔尔(قطر‎;

NSLog(@"授权成功"卡塔尔;

}

}

2.下载取得三个名叫BaiduMap_IOSSDK_v2 的文书夹  将以此文件夹拖到自身的品类中

1绑虞升卿全码,和使用名称

1、一键下载(下载全数百度地图SDK作用)

在急需集成的VC中,

3.申请百度开支秘钥 创制应用 填写相应的事物就可以,

品种名字

2、自定义下载(结合作者要求、自定义接收专门的学业作用,打包下载所选功能开辟包)

必赢亚洲56.net网页版 1

下载落成之后会博得那样的文件
必赢亚洲56.net网页版 2

  • BaiduLAB_Android.jar 文件正是含有了您须求的具备机能的jar包
  • arm64-v8a 等文件夹里正是针对差异手提式有线电话机CPU布局的so文件,里面包车型客车文件后边会用到

    3、集成到AS

  • ### 设置AS工程目录

    必赢亚洲56.net网页版 3

  • 1、在app文件夹下的新建libs文件夹(默许应该有),将BaiduLAB_Android.jar文件拷入

  • 2、在src文件夹下的的main文件夹下新建jniLibs文件夹,将以下这几个文件夹拷入
    必赢亚洲56.net网页版 4

    ##### 经过地方步骤,应该就会见到上海体育场地的Project视图构造

  • #### 设置gradle

  • 在File菜单里选择Project Structure选项(项目结构卡塔尔,进入项目构造安装
    必赢亚洲56.net网页版 5

  • BaiduLAB_Android.jar作为File dependency导入

必赢亚洲56.net网页版 6

必赢亚洲56.net网页版 7

  • 通过如此操作之后,你的app目录下的build.gradle文本里的dependence就能够扩张那些依赖
    必赢亚洲56.net网页版 8
  • 在你的app目录下的build.gradle文本里新添ndk字段
    必赢亚洲56.net网页版 9
    ndk { //选择要添加的对应cpu类型的.so库。 abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a', 'x86', 'x86_64', 'mips', 'mips64'}

1.率先写入下边包车型客车代码(为了幸免内部存款和储蓄器不可能自由的标题)

-(void)viewWillAppear:(BOOL)animated {

[self.mapView viewWillAppear];

self.mapView.delegate = self; // 此处记得不要的时候必要置nil,不然影响内部存款和储蓄器的自由

[BMKMapView enableCustomMapStyle:self.isAutoMap];

}

-(void)viewWillDisappear:(BOOL)animated {

[BMKMapView enableCustomMapStyle:NO];//关闭本性化地图

[self.mapView viewWillDisappear];

self.mapView.delegate = nil; // 不用时,置nil

}

-(void)dealloc {

if (_mapView) {

_mapView =nil;

}

}

只顾安全码要填你的使用bundle ID

必赢亚洲56.net网页版 10

5、配置manifest文件

必赢亚洲56.net网页版 11

2.MapView中哪些想改正地图的显示效果,能够导入对应的文件配置,写入以下代码

(void)initialize {

// 设置必得在BMKMapView最初化早先(会影响全体地图示例)

NSString *path =[[NSBundle mainBundle] pathForResource:@"custom_config_黑夜" ofType:@""];

[BMKMapView customMapStyle:path];

}

在急需退换属性之处调用

[BMKMapView enableCustomMapStyle:self.isAutoMap];

里面self.isAutoMap为no时,是健康格局,为yes为自定义的某种情势

4.注意事项 参考 

Bundle display name百度地图

权限配置

<!--****************一般权限,6.0以上系统不需要额外申请******************--> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位--> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 访问网络,网络定位需要上网--> <uses-permission android:name="android.permission.INTERNET" /> <!--********************特殊权限,6.0以上系统需要动态申请*******************--> <!-- 这个权限用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 这个权限用于访问GPS定位--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于读取手机当前的状态--> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- SD卡读取权限,用户写入离线定位数据--> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <!--地图所需权限--> <uses-permission android:name="android.permission.WAKE_LOCK" />
参照他事他说加以考察官方配置

3.兑现BMKMapViewDelegate的以下代理方法:

- (void)mapViewDidFinishLoading:(BMKMapView *)mapView {

//    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"BMKMapView控件起先化完结" delegate:nil cancelButtonTitle:@"知道了" otherButtonTitles: nil];

//    [alert show];

//    alert = nil;

}

- (void)mapView:(BMKMapView *)mapView onClickedMapBlank:(CLLocationCoordinate2D)coordinate {

NSLog(@"map view: click blank");

}

- (void)mapview:(BMKMapView *)mapView onDoubleClick:(CLLocationCoordinate2D)coordinate {

NSLog(@"map view: double click");

}

附上:      自家项目地址:

附上:    2.百度地图定位篇

在Info.plist文件中配备的时候 文件截图 大家参谋一下

2 -允许HTTPS

6、修改混淆文件(借令你展开了代码混淆)

必赢亚洲56.net网页版 12

当心在plist文件中加多一个Bundle display name   string类型   $(PRODUCT_NAME卡塔尔  正是和Bundle name的名字相符的 

必赢亚洲56.net网页版 13

这般就成功将百度地图SDK集成到项目中了

5.添加 mapapi.bundle文件 

3 -页面跳转时采纳,临时用不到

7、要想使用百度地图的劳动还索要末了一步,申请百度地图AppKey

  • 提请手续请参谋官方指南(供给登陆百度账号State of Qatar
  • 报名进程必要SHA1码和md5码。这里给出网民的教程
    [android studio 中赢得发布版 SHA1 和支出版 SHA1](http://blog.csdn.net/duqiuke/article/details/51816430)

假设选取了底蕴地图功用,必要增多该能源,不然地图不能够寻常展现

必赢亚洲56.net网页版 14

8、具体突显地图和固化等请参谋官方指南hello baiduMap

mapapi.bundle中存款和储蓄了一定、默许大头针表明View及路径关键点的能源图形,还蕴藏了矢量地图绘制必得的能源文件。借使您无需选择内置的图片突显效果,则能够去除bundle文件中的image文件夹。您也得以遵照具体要求放肆替换或删除该bundle中image文件夹的图样文件。

4 -在info里设置NSLocationWhenInUseUsageDescription

主意:选云南中华南理艺术大学程公司程名,在右键菜单中接受Add Files to “工程名”…,从BaiduMapAPI.framework||Resources文件中甄选mapapi.bundle文件,并勾选“Copy items if needed”复选框,单击“Add”按键,将财富文件增多到工程中。

必赢亚洲56.net网页版 15必赢亚洲56.net网页版 16

6.将您项目中的随便八个.m文件的后缀名变为.mm文件格式

————————————————————

举例这里将AppDelegate.m文件变为AppDelegate.mm文件格式

1 -配置开垦条件

7.条件布署

手动配置.framework

在TARGETS->Build Settings->Other Linker Flags 中添加-ObjC。

电动配置.framework格局开荒包(使用CocoaPods)

8.增加相应的依赖库

<日常选用手动配置,自动配置发生的文本太多了,超级多都用不到>

百度地图SDK中提供了稳固功效和动漫片效果,v2.0.0本子初阶采纳OpenGL渲染,由此你需求在你的Xcode工程中引进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)。

直接来看swift

(注:宝蓝标记的系统库为v2.9.0新增加的系统库,使用v2.9.0及以上版本的地图SDK,必须扩充导入这3个系统库。)

必赢亚洲56.net网页版 17

丰裕办法:在Xcode的Project -> Active Target ->Build Phases ->Link Binary With Libraries,加多那多少个系统库即可。

平昔告知你布置桥接文件了

9.在AppDelegate.h文件中导入头文件

配置文件:把那么些八个下载的包丢到花色文件中,那四个是常用的,

在利用SDK的类 按需 引进下面的头文件:

必赢亚洲56.net网页版 18

#import <BaiduMapAPI_Base/BMKBaseComponent.h>//引进base相关全体的头文件

顺便再项目里创设的文书夹,放到文件夹里,直接往那边用鼠标拖拽,

 

必赢亚洲56.net网页版 19

#import <BaiduMapAPI_Map/BMKMapComponent.h>//引进地图作用全部的头文件

配备桥接文件,正是swift的头文件

 

必赢亚洲56.net网页版 20

#import <BaiduMapAPI_Search/BMKSearchComponent.h>//引入检索功能有所的头文件

名字随便,那是行业内部的名字<桥接文件>

 

必赢亚洲56.net网页版 21

#import <BaiduMapAPI_Cloud/BMKCloudSearchComponent.h>//引进云检索功效有着的头文件

把刚刚文书档案的头文件复制到桥接文件中.

 

必赢亚洲56.net网页版 22

#import <BaiduMapAPI_Location/BMKLocationComponent.h>//引进定位作用有着的头文件

用不到的头文件能够去除,只怕注释.

 

在工程里选用安装,找出bri

#import <BaiduMapAPI_Utils/BMKUtilsComponent.h>//引进计算工具全数的头文件

必赢亚洲56.net网页版 23

 

本文由bwin必赢发布,转载请注明来源

关键词: Android 地图 SDK Android Stud 百度地图SDK