android开发游记:百度地图SDK基础地图的使用
2016-02-29 09:48
591 查看
上篇讲到使用百度定位SDK来获取当前经纬坐标和地理名称,这一篇主要讲下如何引入地图功能到自己项目,下一篇会实现路线规划和自定义图层展示的功能,同时包括地图视野缩放旋转视野跟随等功能。
使用百度地图SDK必须去官网注册开发者账号并申请key,如果使用百度定位已经有key了,那么不用再创建新的key了,只需要进入自己的应用管理页面设置key支持地图功能就行了,下面传送门:
http://lbsyun.baidu.com/apiconsole/key
百度地图官方说明文档:
http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap
百度地图SDK官方下载地址:
BaiduLBS_AndroidSDK_Sample
其中包含有百度官方提供的demo,官方demo相当详细且更新很及时,不要再在csdn上花积分去下载别人的demo
官方文档把接入方法写的很详细,推荐直接看文档,我只总结一下容易出错的地方和遇到的问题:
首先,导入地图类库,百度地图自3.6以后,采取了分包的策略来管理,把不同的功能分为不同的包,所以这就直接导致以前6个类库和包一下子扩增到现在的36个,不够大小并没有因为分包而变大,还可以根据自己的需要删减,其实更加实用了。
下面分别是3.6的类库,和3.5的类库,你们感受一下:
还是照文档中的全部导入,注意,百度地图的demo中已经包含了百度定位SDK的包,如果使用了其他三方提供的定位或者已经集成了定位功能了,就只导入上面图里带“baidumap”字样的包,凡是带”loc”字样的都是定位相关。定位也是地图中不可或缺的功能,如果使用了百度地图那也推荐使用百度定位sdk。
导入包之后,然后设置AndroidManifest.xml文件并添加相应权限:
使用百度地图SDK必须去官网注册开发者账号并申请key,如果使用百度定位已经有key了,只需要进入自己的应用管理页面设置key支持地图功能就行了(官方推荐全部都勾上):
把申请到的key填入AndroidManifest.xml文件中
在
配置完成了,接下来在你需要用于展示地图的Activity的布局中,添加如下布局:
和定位SDK一样,在使用之前必须先初始化:
依然推荐写在Application中:
最后在onCreate等各个生命周期回调相应的地图生命周期方法:
使用百度地图SDK必须去官网注册开发者账号并申请key,如果使用百度定位已经有key了,那么不用再创建新的key了,只需要进入自己的应用管理页面设置key支持地图功能就行了,下面传送门:
http://lbsyun.baidu.com/apiconsole/key
百度地图官方说明文档:
http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap
百度地图SDK官方下载地址:
BaiduLBS_AndroidSDK_Sample
其中包含有百度官方提供的demo,官方demo相当详细且更新很及时,不要再在csdn上花积分去下载别人的demo
官方文档把接入方法写的很详细,推荐直接看文档,我只总结一下容易出错的地方和遇到的问题:
首先,导入地图类库,百度地图自3.6以后,采取了分包的策略来管理,把不同的功能分为不同的包,所以这就直接导致以前6个类库和包一下子扩增到现在的36个,不够大小并没有因为分包而变大,还可以根据自己的需要删减,其实更加实用了。
下面分别是3.6的类库,和3.5的类库,你们感受一下:
还是照文档中的全部导入,注意,百度地图的demo中已经包含了百度定位SDK的包,如果使用了其他三方提供的定位或者已经集成了定位功能了,就只导入上面图里带“baidumap”字样的包,凡是带”loc”字样的都是定位相关。定位也是地图中不可或缺的功能,如果使用了百度地图那也推荐使用百度定位sdk。
导入包之后,然后设置AndroidManifest.xml文件并添加相应权限:
<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.WAKE_LOCK"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_SETTINGS" />
使用百度地图SDK必须去官网注册开发者账号并申请key,如果使用百度定位已经有key了,只需要进入自己的应用管理页面设置key支持地图功能就行了(官方推荐全部都勾上):
把申请到的key填入AndroidManifest.xml文件中
在
<application>节点下添加key常量:
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="开发者 key" />
配置完成了,接下来在你需要用于展示地图的Activity的布局中,添加如下布局:
<com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" />
和定位SDK一样,在使用之前必须先初始化:
SDKInitializer.initialize(getApplicationContext());
依然推荐写在Application中:
public class MyApplication extends Application { public LocationClient mLocationClient; @Override public void onCreate() { super.onCreate(); //baidu loc mLocationClient = new LocationClient(this.getApplicationContext()); //baidumap 在使用 SDK 各组间之前初始化 context 信息,传入 ApplicationContext SDKInitializer.initialize(this); } }
最后在onCreate等各个生命周期回调相应的地图生命周期方法:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); 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(); }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories