安卓是可以开发百度地图的。基本的流程在开发者网站有。
概括一下:
1. 注册百度账号
2. 注册百度开发者账号
3. 申请密钥
4. 创建应用
5. 导入下载的sdk so,jar文件
6. 完成activity layout xml中的权限配置
http://lbsyun.baidu.com/index.php?title=androidsdk/guide/key
多参考百度地图开放平台的指导,多找找,各方面都有,非常详尽。
因为以前已经注册过百度开发者(没注册需要注册百度账号和百度开发者账号),直接登陆之后,创建应用,选择Android SDK,这个时候需要安全码。安全码其实就是数字签名加分号加包名。现在的百度应用创建已经可以自动生成,对于数字签名的获取,我采用的是eclipse开发,在window->preferences->android->build就有(SHA1 fingerprint)。
提交之后即可获取ak。
我们在新建项目之后要做的事情就是下载sdk。现在可以自定义下载,以前开发百度地图的时候出错,反反复复排除了所有地方,最后发现是sdk包下载的不全,而且导入的时候不小心删除了一个文件。
这里我们直接从以前的地图的活动中取出已经下载好的文件,导入到现在新建的活动中。
对于活动:我们在布局文件中:
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true" />
在活动中:
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);
}
在配置文件中也先配置好一些可能会用到的权限和添加开发密钥
<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" />
<application>
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="开发者 key" />
</application>
而后,我们增加一个地图标注:
BaiduMap mBaiduMap = mMapView.getMap();
//定义Maker坐标点
LatLng point = new LatLng(39.963175, 116.400244);
//构建Marker图标
BitmapDescriptor bitmap = BitmapDescriptorFactory
.fromResource(R.drawable.icon_marker);
//构建MarkerOption,用于在地图上添加Marker
OverlayOptions option = new MarkerOptions().position(point).icon(bitmap);
//在地图上添加Marker,并显示
mBaiduMap.addOverlay(option);
以上创建了地图并放了一个小标记。(如图小红气球)