2015年4月14日上线,优化了许多接口的设计,简单了地图的开发方式。但是,对没有接触过新版地图开发的人来说,依然是望尘莫及,今天我们就一起来学习下最新版百度地图的开发吧
申请的具体流程官网说的很清楚,即
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
2.下载sdk文件demo和帮助文档
上面所选就可以完成大多数开发使用了
当然定位功能视个人情况选择
3.配置开发环境
解压开发包得到如下文件

打开文件夹如右图
将第一幅图片中的文件复制到工程的libs文件下,并且add bulid path
4.工程的基本配置
在清单文件中的application节点下增加如下源文件
这个key必须这个工程包对象的key
-
<meta-data
-
android:name="com.baidu.lbsapi.API_KEY"
-
android:value="申请到的开发者key" />
然后配置权限
-
<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" />
最后就可以在xml文件中使用map组件了,使用的方式和自定义组建的使用方式是一致的
-
<com.baidu.mapapi.map.MapView
-
android:id="@+id/bmapView"
-
android:layout_width="fill_parent"
-
android:layout_height="fill_parent"
-
android:clickable="true" />
在activity文件中做如下处理,具体见注释
-
public class MainActivity extends Activity {
-
MapView mMapView = null;
-
@Override
-
protected void onCreate(Bundle savedInstanceState) {
-
super.onCreate(savedInstanceState);
-
-
-
SDKInitializer.initialize(getApplicationContext());
-
setContentView(R.layout.activity_main);
-
-
mMapView = (MapView) findViewById(R.id.bmapView);
-
}
-
@Override
-
protected void onDestroy() {
-
super.onDestroy();
-
-
mMapView.onDestroy();
-
}
-
@Override
-
protected void onResume() {
-
super.onResume();
-
-
mMapView.onResume();
-
}
-
@Override
-
protected void onPause() {
-
super.onPause();
-
-
mMapView.onPause();
-
}
-
}