越来越多的App运用到了定位,导航的这些功能,其实实现一个自己的百度地图也是非常的简单,这篇博客将会教你简单的实现一个百度地图。看一下效果图:
第一步:要使用百度地图,必须要有百度地图的Key,要获得这个Key,需要你提供两个信息:SHA1和应用的包名。
*获取SHA1:
打开你的安卓ADB目录,一般在C盘的用户目录中以.android为文件名。
这个debug文件就是获取SHA1值的文件。接下来WIN+R,输入cmd。来到命令窗口界面:先输入cd .android来到这个文件夹中之后输入keytool -list -v -keystore debug.keystore
提示你输入密码,默认就是android。因为是命令窗口输入密码并不会显示输入数,输入好了回车,就可以看到我们的SHA1值了。
**获取包名,在我们安卓的配置文件中拷贝一下包名:
有了这两个值就可以申请到Key了。
第二步,将百度SDK集成到你的项目中。
将SDK下下来,可以看到这些文件:
最后一个是Jar文件,可以一键导入到库,其他是针对不同手机架构的.SO文件。将你的jar文件考到libs目录中,右键Add as Laribary。接着在main文件下新建JniLibs文件夹,将剩下的文件考到里面。
第三部,配置相关数据。
*现在配置清单文件中配置一个全局的参数:
第二个参数就是你的Key。这里就不给大家看了。
**在布局中:
<com.baidu.mapapi.map.TextureMapView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/bmapView"
android:clickable="true"></com.baidu.mapapi.map.TextureMapView>
***在Activity中:
super.onCreate(savedInstanceState);
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
mMapView = (TextureMapView) findViewById(R.id.bmapView);
baiduMap = mMapView.getMap();
msu = MapStatusUpdateFactory.newLatLng(new LatLng(30.5715920000,104.2077620000));
baiduMap.setMapStatus(msu);
}
@Override
protected void onDestroy() {
super.onDestroy();
//在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
mMapView.onDestroy();
unregisterReceiver(broadcastReceiver);
}
@Override
protected void onResume() {
super.onResume();
//在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
//在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
mMapView.onPause();
}
注意这个View的生命周期要和Activity的生命周期一致。 SDKInitializer.initialize(getApplicationContext());这个方法要写在布局之前。推荐将它初始化在你的Application类的onCreate()方法中。我这里将坐标定位于我的学校。好了,一个简单的百度地图就实现了,这里先开个头。下一篇,我将介绍百度地图的一些重要用法,如果你觉得我写的不错,可以推荐一波哦~