Android 百度地图 SDK v3.0.0 (一)

1、申请密钥

Key的申请地址为:http://lbsyun.baidu.com/apiconsole/key

a、创建应用

点击"创建应用",系统将为您弹出创建AK页面,输入应用名称,将应用类型改为:“for mobile”:



b、配置应用

在应用类型选为“for mobile”后,需要配置应用的安全码,如下图所示:


c、获取安全码

输入“安全码”。安全码的组成规则为:Android签名证书的sha1值+“;”+packagename(即:数字签名+分号+包名),例如:

BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.baidumap.demo

注意:中间的分号为英文状态下的分号!


d、Android签名证书的sha1值获取方式:

在adt 22中直接查看

如果使用adt 22,可以在eclipse中直接查看:winows -> preferance -> android -> build。 如下图示:


其中“SHA1 fingerprint”值即为Android签名证书的sha1值

e、获取包名

包名是Android应用程序本身在AndroidManifest.xml 中定义的名称,例如:


f、成功创建KEY

在输入安全码后,点击“确定”完成应用的配置工作,您将会得到一个创建的Key,请妥善保管您所申请的Key。到这您就可以使用新Key来完成您的开发工作了。


2、第一个baidu map应用

下载就不多说了,直接点击官网的相关下载就行选择就可,这里用的IDE为eclipse。

工程配置:

第一步:在工程里新建libs文件夹,将开发包里的baidumapapi_vX_X_X.jar拷贝到libs根目录下,将libBaiduMapSDK_vX_X_X.so拷贝到libs\armeabi目录下(官网demo里已有这两个文件,如果要集成到自己的工程里,就需要自己添加),拷贝完成后的工程目录如下图所示;

注:liblocSDK3.so和locSDK_3.1.jar为百度定位SDK所使用资源,开发者可根据实际需求自行添加。
android_dev1.png
第二步:在工程属性->Java Build Path->Libraries中选择“Add External JARs”,选定baidumapapi_vX_X_X.jar,确定后返回。
通过以上两步操作后,您就可以正常使用百度地图SDK为您提供的全部功能了。
注意:由于adt插件升级,若您使用Eclipse adt 22的话,需要对开发环境进行相应的设置,方法如下:
1). 在Eclipse 中选中工程,右键选 Properties->Java Build Path->Order and Export 使 Android Private Libraries处于勾选状态;
2). Project -> clean-> clean all .


a、在AndroidManifest文件中的application元素中添加开发密钥

[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <application   
  2. <meta-data   
  3. android:name="com.baidu.lbsapi.API_KEY"   
  4. android:value="开发者 key" />   
  5. </application>  


b、添加所需权限

[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <uses-permission android:name="android.permission.GET_ACCOUNTS" />   
  2. <uses-permission android:name="android.permission.USE_CREDENTIALS" />   
  3. <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />   
  4. <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />   
  5. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />   
  6. <uses-permission android:name="android.permission.INTERNET" />   
  7. <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />   
  8. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />   
  9. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />   
  10. <uses-permission android:name="android.permission.READ_PHONE_STATE" />   
  11. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   
  12. <uses-permission android:name="android.permission.BROADCAST_STICKY" />   
  13. <uses-permission android:name="android.permission.WRITE_SETTINGS" />   
  14. <uses-permission android:name="android.permission.READ_PHONE_STATE" />  


c、布局文件中添加地图控件


[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <com.baidu.mapapi.map.MapView  
  2. android:id="@+id/id_bmapView"  
  3. android:layout_width="fill_parent"  
  4. android:layout_height="fill_parent"  
  5. android:clickable="true" />  


d、在应用程序创建时初始化 SDK引用的Context 全局变量:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. @Override  
  2. protected void onCreate(Bundle savedInstanceState)  
  3. {  
  4. super.onCreate(savedInstanceState);  
  5.   
  6. requestWindowFeature(Window.FEATURE_NO_TITLE);  
  7. // 在使用SDK各组件之前初始化context信息,传入ApplicationContext  
  8. // 注意该方法要再setContentView方法之前实现  
  9. SDKInitializer.initialize(getApplicationContext());  
  10. setContentView(R.layout.activity_main);  
  11. }  

注意:在SDK各功能组件使用之前都需要调用

SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中


好了,经过这四步就能显示地图了~~

e、不过地图很耗电,所以有必要管理其声明周期

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. package com.zhy.zhy_baidu_ditu_demo00;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.Window;  
  6.   
  7. import com.baidu.mapapi.SDKInitializer;  
  8. import com.baidu.mapapi.map.MapView;  
  9.   
  10. public class MainActivity extends Activity  
  11. {  
  12.     private MapView mMapView = null;  
  13.   
  14.     @Override  
  15.     protected void onCreate(Bundle savedInstanceState)  
  16.     {  
  17.         super.onCreate(savedInstanceState);  
  18.   
  19.         requestWindowFeature(Window.FEATURE_NO_TITLE);  
  20.         // 在使用SDK各组件之前初始化context信息,传入ApplicationContext  
  21.         // 注意该方法要再setContentView方法之前实现  
  22.         SDKInitializer.initialize(getApplicationContext());  
  23.         setContentView(R.layout.activity_main);  
  24.         // 获取地图控件引用  
  25.         mMapView = (MapView) findViewById(R.id.id_bmapView);  
  26.     }  
  27.   
  28.     @Override  
  29.     protected void onDestroy()  
  30.     {  
  31.         super.onDestroy();  
  32.         // 在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理  
  33.         mMapView.onDestroy();  
  34.         mMapView = null;  
  35.     }  
  36.   
  37.     @Override  
  38.     protected void onResume()  
  39.     {  
  40.         super.onResume();  
  41.         // 在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理  
  42.         mMapView.onResume();  
  43.     }  
  44.   
  45.     @Override  
  46.     protected void onPause()  
  47.     {  
  48.         super.onPause();  
  49.         // 在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理  
  50.         mMapView.onPause();  
  51.     }  
  52.   
  53. }  
完成以上步骤后,运行程序就能看到地图了!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值