百度地图使用
拥有一个百度账号
登录百度开发者中心,申请密钥
百度开发者中心网址:developer.baidu.com,选择LBS
申请指南:
http://lbsyun.baidu.com/index.php?title=androidsdk/guide/introduction
android studio配置使用百度地图
配置百度地图jar包与动态库so文件
1、将jar包放入工程目录的libs目录下
2、右键选择add to library,即将包加入到gradle环境中
1、在src\main\文件夹下创建jniLibs文件夹
2、将百度地图包下不同平台编译的so文件,放入jniLibs文件夹下。直接复制即可
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.baidu.mapapi.map.MapView
android:id="@+id/map_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.baidu.mapapi.map.MapView>
</LinearLayout>
AndroidManifest.xml配置
AndroidManifest.xml中配置<meta-data>
元素
<application>
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="pPu8I3caxgkFCeG3uGdKjpCs6GIvVZH5"
/>
...
</application>
温馨提示:pPu8I3caxgkFCeG3uGdKjpCs6GIvVZH5是我们从百度网中申请到的AK密钥。只需要把这ak替换成自己的就可以了。
Activity
package com.app.baidumaptest2;
import android.app.Activity;
import android.os.Bundle;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.MapView;
public class MainActivity extends Activity {
private MapView mapView;
private BMapManager bMapManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
mapView = (MapView) findViewById(R.id.map_view);
}
@Override
protected void onResume() {
super.onResume();
mapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
mapView.onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
}
注意
若程序报出Authentication Error errorcode: 230错误码,说明你百度申请的AK密码中的SHA1码与程序生成的apk的SHA1码不一致。
你可以通过java下的tools的keytool工具来查看apk中的SHA1码。
将你生成的apk后缀名改为zip,然后解压缩,取出META-INF文件下的CERT.RSA文件。
若不一致,则将百度开发平台下的SHA1码改为自己apk下的就可以了
参考文章:
http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=42223&extra=page%3D1