Android中级篇之百度地图SDK v3.5.0-基础地图[图解百度地图基础教程]
来源:互联网 发布:wrsndm网络什么意思 编辑:程序博客网 时间:2024/05/17 21:45
基础地图[比官方更详细]
简介
开发者可利用SDK提供的接口,使用百度为您提供的基础地图数据。目前百度地图SDK所提供的地图等级为3-19级,所包含的信息有建筑物、道路、河流、学校、公园等内容。所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。如标注、矢量图形元素(包括:折线、多边形和圆等)、定位图标等。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。
百度地图SDK为广大开发者提供的基础地图和上面的各种覆盖物元素,具有一定的层级压盖关系,具体如下(从下至上的顺序):
1、基础底图(包括底图、底图道路、卫星图等);
2、地形图图层(GroundOverlay);
3、热力图图层(HeatMap);
4、实时路况图图层(BaiduMap.setTrafficEnabled(true););
5、百度城市热力图(BaiduMap.setBaiduHeatMapEnabled(true););
6、底图标注(指的是底图上面自带的那些POI元素);
7、几何图形图层(点、折线、弧线、圆、多边形);
8、标注图层(Marker),文字绘制图层(Text);
9、指南针图层(当地图发生旋转和视角变化时,默认出现在左上角的指南针);
10、定位图层(BaiduMap.setMyLocationEnabled(true););
11、弹出窗图层(InfoWindow);
12、自定义View(MapView.addView(View););地图类型
百度地图Android SDK为您提供了两种类型的地图资源(普通矢量地图和卫星图),开发者可以利用BaiduMap中的mapType()方法来设置地图类型。
普通矢量地图
首先我们写一个BaseActivity继承Activity和FragmentActivity都行,这里为了后面我们写MapFragmentDemo还是继承FragmentActivity好了:
/** * Activity基类 */public class BaseActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //在使用SDK各组件之前初始化context信息,传入ApplicationContext //注意该方法要再setContentView方法之前实现 SDKInitializer.initialize(getApplicationContext()); }}
activity_main.xml
布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.baidu.mapapi.map.MapView android:id="@+id/main_bdmap" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true"></com.baidu.mapapi.map.MapView></LinearLayout>
BaseMapDemo
类:public class BaseMapDemo extends BaseActivity { private MapView mMapView; private BaiduMap mBaiduMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { mMapView = (MapView) findViewById(R.id.main_bdmap); mBaiduMap = mMapView.getMap(); //普通地图 mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); } @Override protected void onResume() { super.onResume(); // activity 恢复时同时恢复地图控件 mMapView.onResume(); } @Override protected void onPause() { super.onPause(); // activity 暂停时同时暂停地图控件 mMapView.onPause(); } @Override protected void onDestroy() { super.onDestroy(); // activity 销毁时同时销毁地图控件 mMapView.onDestroy(); }}
运行效果图:
卫星图
更改
BaseMapDemo
类中的代码:private void initView() { mMapView = (MapView) findViewById(R.id.main_bdmap); mBaiduMap = mMapView.getMap(); //普通地图 //mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); //卫星图 mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE); }
运行效果图:
实时交通图
当前,全国范围内已支持多个城市实时路况查询,且会陆续开通其他城市。
在地图上打开实时路况,更改
BaseMapDemo
类中的代码:private void initView() { mMapView = (MapView) findViewById(R.id.main_bdmap); mBaiduMap = mMapView.getMap(); //开启实时交通图 mBaiduMap.setTrafficEnabled(true); }
运行效果图:
百度城市热力图
百度地图SDK继为广大开发者开放热力图本地绘制能力之后,再次进一步开放百度自有数据的城市热力图层,帮助开发者构建形式更加多样的移动端应用。
百度城市热力图的性质及使用与实时交通图类似,只需要简单的接口调用,即可在地图上展现样式丰富的百度城市热力图。
在地图上开启百度城市热力图的核心代码如下:
private void initView() { mMapView = (MapView) findViewById(R.id.main_bdmap); mBaiduMap = mMapView.getMap(); //开启百度城市热力图 mBaiduMap.setBaiduHeatMapEnabled(true); }
运行效果图:
- Android中级篇之百度地图SDK v3.5.0-基础地图[图解百度地图基础教程]
- Android中级篇之百度地图SDK v3.5.0-Hello BaiduMap[图解第一次运行百度地图]
- Android中级篇之百度地图SDK v3.5.0-百度地图定位[超详细图解定位基础]
- Android中级篇之百度地图SDK v3.5.0-百度地图定位[超详细图解定位基础]
- Android中级篇之百度地图SDK v3.5.0-FragmentMap地图框架[图解SupportMapFragment类]
- Android中级篇之百度地图SDK v3.5.0-配置环境及发布[图解AndroidStudio下配置.so文件]
- Android中级篇之百度地图SDK v3.5.0-配置环境及发布[图解AndroidStudio下配置.so文件]
- Android中级篇之百度地图SDK v3.5.0-配置环境及发布[图解AndroidStudio下配置.so文件]
- Android中级篇之百度地图SDK v3.5.0-申请密钥详解[AndroidStudio下获取SHA1]
- Android中级篇之百度地图SDK v3.5.0-一步一步带你仿各大主流APP地图定位移动选址功能
- Android中级篇之百度地图SDK v3.5.0-一步一步带你仿各大主流APP地图定位移动选址功能
- Android中级篇之百度地图SDK v3.5.0-一步一步带你仿各大主流APP地图定位移动选址功能
- Android中级篇之基于百度地图Android SDK v3.4.0开发实现定位
- android百度地图 SDK v3.5.0
- Android 百度地图 SDK v3.0.0
- 百度地图移动开发——(Android SDK v3.5.0)
- 百度地图Android SDK
- android 百度地图sdk
- 浅谈Java中的hashcode方法
- ELK的一些学习知识
- struct字节对齐
- JSON详解 jQuery解析JSON数据
- 自动适应窗口大小
- Android中级篇之百度地图SDK v3.5.0-基础地图[图解百度地图基础教程]
- Win7系统上面Tex live中利用fontspec包直接访问系统字体
- C#自动添加using引用命名空间
- Service和IntentService生命周期
- 移植 jq
- 《JSF教程》-03 环境搭建与第一个入门例子
- 动态生成右键菜单子菜单
- Android Gif图片显示(GifView)
- [Jumpwe]游戏策划(四)界面设计