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