关于使用百度地图的总结
2015-12-20 00:00
281 查看
在项目中大量地使用到了百度地图,因此对百度地图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)
现将关于百度地图的几点说明如下:
一、地图的显示和地图类型等等(包括一些可能在实际项目开发中遇到的小的细节)
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)
相关文章推荐
- SharedPreferences共享参数
- xwiki初步认识
- Android设置虚线、圆角、渐变
- 自学QT之代理Delegate
- android自定义滑动开关控件,适合所有的android系统 《转载》
- linux下配置JDK环境变量
- npm使用
- 淘宝npm镜像
- Ubuntu 装机必备
- 丰富的jar包资源网站
- Linux进程池+Epoll模式处理 网络服务器
- OA项目-常用的增删改查的公共接口及其实现类
- python科学计算
- django入门1
- DWR的认识及基本应用
- 【嘉兴东臣php】BOM+DOM+作用域周总结
- 【Python 第13课】 字符串
- 【Python 第14课】 字符串格式化
- 测试
- error: Microsoft Visual C++ 9.0 is required (Unabl