在项目中大量地使用到了百度地图,所以对百度地图SDK的使用很熟悉,对百度地图SDK有比较深的理解。编码
现将关于百度地图的几点说明以下:code
1、地图的显示和地图类型等等(包括一些可能在实际项目开发中遇到的小的细节)orm
一、显示地图:mapView = findViewById(R.id.mapView); baiduMap = mapView.getMap(); baiduMap.setMapType(...)对象
这里能够设置地图类型为普通地图和卫星图,分别对应两个常量:BaiduMap.Map_Type_Normal和BaiduMap.什么什么,这个我忘了。接口
二、将地图设置成俯视,开启路况,开启热力图。 无非就是用封装的一些方法和类,将地图设置成俯视,就是经过MapStatus这个类,设置角度,经过overlook,开启路况和热力图就是调用一些方法,给一个true。
开发
三、隐藏百度logo和百度地图SDK自带的缩放按钮。get
原理就是对mapView的子View进行处理,将其设置为不可见或者隐藏。 在隐藏百度logo时就是将下标为1的子View判断一下,若是是ImageView或者ZoomControls的实例,则将其设置为不可见。在隐藏自带的缩放按钮时,把全部的子View进行判断,只要是ZoomControls的实例,就将其设置为隐藏。it
四、自定义缩放按钮。原理就是经过MapStatusUpdateFactory类的zoomIn方法和zoomOut方法,zoomIn()是放大,zoomOut()是缩小。 有一个zoomLevel,有一个上限和下限,分别是18和4。zoomLevel = baiduMap.getMapStatus().zoomio
2、定位百度地图
第一步:开启定位图层
setMyLocationEnabled(true);
第二步:建立LocationClient对象
第三步:注册监听器
第四步:设置参数:好比坐标类型
第五步:开启定位,start();
3、地理编码和反地理编码
就是实现OnGetGeoCoderResultListener接口,重写onGetGeoCodeResult方法和onGetReverseGeoCodeResult方法,一个地理编码,一个是反向地理编码。经过GeoCoder这个类的geocode方法和reverseGeoCode方法。
4、检索:好比在线建议搜索、POI(兴趣点)检索。
在线建议搜索就是实现OnGetSuggestionResultListener接口,而后重写onGetSuggestionResult方法。使用SuggestionSearch这个类的requestSuggestion方法
POI(兴趣点)检索就是实现OnGetPoiSearchResultListener接口,而后重写onGetPoiResult方法和onGetPoiDetailResult方法。poi检索有三种:周边,区域以及城市内,经过PoiSearch这个类的方法做为入口进行poi检索
5、路径规划
就是实现OnGetRoutePlanResultListener接口,而后重写onGetDrivingRouteResult方法、onGetTransitRouteResult方法、onGetWalkingRouteResult方法,分别对应驾车、公交、步行三种方式。经过RoutePlanSearch这个类做为入口实现路径规划
6、全景图(panorama)