1.获取SHA1码
在Eclipse中点击“Windows”----->“Preferences” ----->“Android” ----->“Build”如下图:
打开“Win+R”输入cmd,输入“keytool –list –v –keystore <Android keystore的存储位置>”,Keystore密码默认是:Android,获取认证指纹,如下图:
2.获取API Key
在获取API Key之前自己必须要注册一个百度账号,申请API Key的地址http://lbsyun.baidu.com/apiconsole/key,得到网页如下图:
点击左边“我的服务”选项,打开Android地图SDK,如下图:
点击左边“我的应用”选项,单击“创建应用”,应用类型选择“for mobil”,如下图:
需要填写应用名称,安全码填写格式:SHA1码;应用的报名,如:0E:DE:CC:5D:93:7F:6D:B3:CF:F9:A9:D6:7C:78:0F:92:DE:AB:28:87;com.example.baidu,如下图:
点击“确认”按钮即可获得API Key,如下图:
3.下载Baidu Map API Library
要在Android应用中使用百度地图API,就需要在工程中引用百度地图API开发包,下载地址http://developer.baidu.com/map/sdkandev-download.htm。点击“一键下载”按钮即可,如下图:
然后解压下载的文件,把BaiduMap_AndroidSDK_v3.1.0_Lib中的文件拷贝到项目的lib目录下,如下图:
4.编写代码
Baidu Map开发有示例可以参考,在http://developer.baidu.com/map/sdkandev-download.htm有一个简单的Hello BaiduMap的示例。简单介绍下,第一步在AndroidManifest中添加开发密钥、所需权限等信息;
(1) 在<application../>中添加开发密钥
<application <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="开发者 key" /> ………….. </application>
(2) 添加所需权限
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.BROADCAST_STICKY" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
(3) 在布局xml文件中添加地图控件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <com.baidu.mapapi.map.MapView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/map_view" android:clickable="true"/> </LinearLayout>
(4) 在应用程序创建时初始化 SDK引用的Context 全局变量。
注意:在SDK各功能组件使用之前都需要调用SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //在使用SDK各组件之前初始化context信息,传入ApplicationContext //注意该方法要再setContentView方法之前实现 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); } }
版权声明:本文为博主原创文章,未经博主允许不得转载。