百度地图集成概要
百度地图集成第一篇: 百度地图简单实现
首先创建百度项目导入响应的jar包 开始集成
百度地图Android SDK v4.2.1版本
下载完成解压后是
libs里面
如果是上面这样的话 armeabi 放到 main -- jniLibs 文件下
项目中如果有了其他三方会发现百度地图很难集成,甚至报错
错误1:No implementation found for int com.baidu.platform.comjni.tools.JNITools.initClass
错误2:loadExceptionjava.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/com.zoommax.car/files/libs/libBaiduMapSDK_base_v4_2_1.so" is 32-bit instead of 64-bit
其原因就是
百度统一下载的SDK 没有做兼容吧
那该怎么做呢 ,很简单 下载一下百度官方damo 会发现 他们的damo里面 jar 还是分开的, 这就坑了,那为什么要给我们统一的,他们自己还是用的以前的 jar包 呢
我也百事不得其解!
然后要做的就是 jar包 替换咯
于是在下把百度地图的 sdk打包上传到了csdn 希望以后减少开发时间吧!
http://download.csdn.net/detail/qq_35352552/9801377解压缩删除 android-support-v4.jar 原因是 android studio 已经自带了v4包 而且还会导致6.0权限方法缺失等...
不过不删的话,我运行也是没有问题的!
下载解压后分别加到 libs 和 jnilibs文件里即可
添加Key
在清单文件里 application里添加
<!-- 百度Key -->
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="App key"/> // 自己项目的key
<service
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote"/>
添加限权 :做定位的话别忘了定位的权限
<uses-permission android:name="android.permission.INTERNET"/>
<!-- 百度所用权限 -->
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.WRITE_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.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/>
好啦现在写代码就可了
/**
* 作者:CoolTone
* 描述:百度地图
*/
public class MainActivity extends AppCompatActivity {
private MapView mMapView;
private BaiduMap baiduMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 在 setContentView 之前初始化 * 最好放在 继承Application的App中
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
// 获取地图控件引用
mMapView = (MapView) findViewById(R.id.mapView);
baiduMap = mMapView.getMap();
baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); // 设置 地图样式为普通,有三种(详情见百度地图官网)http://write.blog.csdn.net/postedit/68066892
}
}
xml 里面加上map控件就OK了
<com.baidu.mapapi.map.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"/>
以上就是地图基础哈哈!