android百度地图demo.doc_第1页
android百度地图demo.doc_第2页
android百度地图demo.doc_第3页
android百度地图demo.doc_第4页
android百度地图demo.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

package com.jsptpd.baidumap;import java.util.List;import android.content.Context;import android.util.Log;import com.baidu.mapapi.map.BaiduMap;import com.baidu.mapapi.map.MapStatusUpdate;import com.baidu.mapapi.map.MapStatusUpdateFactory;import com.baidu.mapapi.map.MapView;import com.baidu.mapapi.model.LatLng;import com.baidu.mapapi.model.LatLngBounds;import com.baidu.mapapi.model.LatLngBounds.Builder;import com.baidu.mapapi.search.route.DrivingRoutePlanOption.DrivingPolicy;import com.jsptpd.baidumap.LocationPrivoder.LocationCompleteCallback;import com.jsptpd.baidumap.MyOnGetRoutePlanResultListener.DrivingRoutePlanCompleteCallback;import com.jsptpd.baidumap.SimpleOverlayManager.RouteLineDrawInfo;/* * 百度地图使用工具类.主要用于进行与百度地图相关的操作 * * author 马陈杰 * since 2014.8.22 * version 1.0 */public class BaiduMapUtil public final static int STREET_ZOOM_LEVEL = 16;/ 街道缩放水平public final static int CITY_ZOOM_LEVEL = 12;/ 城市缩放水平public final static int PROVINCE_ZOOM_LEVEL = 8;/ 省份缩放水平public final static int COUNTRY_ZOOM_LEVEL = 4;/ 国家缩放水平private BaiduMap mBaiduMap;/ 百度地图实例private LocationPrivoder locationPrivoder;/ 定位功能实例private SimpleOverlayManager overlayManager;/ 图层管理实例private LatLngUtil mLatLng;/ 经纬度工具实例private RoutePlanUtil routePlan;/ 路径规划工具实例private MyLocationSuccess locationSuccessLitener = new MyLocationSuccess();/ 使用的默认定位完成回调private MyDrivingRoutePlanCompleteCallback routePlanCompleteListener = new MyDrivingRoutePlanCompleteCallback();/ 使用的默认的驾车路径规划完成回调/* * 使用mapView构造 * * param context * 上下文 * param mMapView * 地图的View */public BaiduMapUtil(Context context, MapView mMapView) this.mBaiduMap = mMapView.getMap();locationPrivoder = LocationPrivoder.getLocationPrivoder();overlayManager = new SimpleOverlayManager(this.mBaiduMap);mLatLng = new LatLngUtil(this.mBaiduMap);routePlan = new RoutePlanUtil(context);/* * 使用baiduMap构造 * * param context * 上下文 * param mBaiduMap * 使用mapView.getMap()获取 */public BaiduMapUtil(Context context, BaiduMap mBaiduMap) this.mBaiduMap = mBaiduMap;locationPrivoder = LocationPrivoder.getLocationPrivoder();overlayManager = new SimpleOverlayManager(this.mBaiduMap);mLatLng = new LatLngUtil(this.mBaiduMap);routePlan = new RoutePlanUtil(context);/* * 获取百度地图实例 * * return 百度地图矢量 */public BaiduMap getmBaiduMap() return mBaiduMap;/* * 获取定位功能实例 * * return 定位功能实例 */public LocationPrivoder getLocationPrivoder() return locationPrivoder;/* * 获取图层管理实例 * * return 图层管理实例 */public SimpleOverlayManager getOverlayManager() return overlayManager;/* * 获取经纬度工具实例 * * return 经纬度工具实例 */public LatLngUtil getmLatLng() return mLatLng;/* * 获取路径规划工具实例 * * return 路径规划工具实例 */public RoutePlanUtil getRoutePlan() return routePlan;/* * 使用默认的定位成功回调进行定位,只执行一次定位。 */public void locationMyLocation() locationMyLocation(locationSuccessLitener);/* * 使用自定义回调进行定位,只执行一次定位。 * * param listener * 自定义成功定位回调 */public void locationMyLocation(LocationCompleteCallback listener) locationPrivoder.setLocationOption(null, null, 0);locationPrivoder.startLocation(listener);/* * 进行驾车路径规划。注意不要进行多次连续并发路径规划。若连续多次发起请求,只执行最后一次请求(baidu地图内部不支持同步并发规划) * * param from * 起始点 * param to * 终止点 * param drivingPolicy * 规则策略 * param drawInfo * 规划线画笔信息 * param listener * 规划成功监听 */public void searchDrivingRoute(LatLng from, LatLng to,DrivingPolicy drivingPolicy,DrivingRoutePlanCompleteCallback listener) if (listener != null)/ 有自定位监听,不使用默认的监听器监听路径规划完成事件routePlan.startSearchRoute(RoutePlanUtil.DRIVING_SEARCH_MODE, from,to, drivingPolicy, listener);else/ 使用默认的监听器监听路径规划完成事件routePlan.startSearchRoute(RoutePlanUtil.DRIVING_SEARCH_MODE, from,to, drivingPolicy, routePlanCompleteListener);/* * 更改地图缩放级别 3-19 19最近 3最远 * * param zoom * 地图缩放级别 */public void changeMapViewZoom(int zoom) MapStatusUpdate u = MapStatusUpdateFactory.zoomTo(zoom);mBaiduMap.setMapStatus(u);/* * 更改地图显示中心点 * * param latitude * 百度经度 * param longitude * 百度纬度 */public void changeMapViewCenter(double latitude, double longitude) LatLng ll = new LatLng(latitude, longitude);MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(ll);mBaiduMap.setMapStatus(u);/* * 使list内的所有点在视野范围内 * * param list * 点列表 */public void zoomToSpanWithPoints(List list) LatLngBounds.Builder builder = new Builder();/ 将所有点加入地理围栏中,用于改变地图状态for (LatLng ll : list) builder.include(ll);mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newLatLngBounds(builder.build();/* * 改变交通态势状态,若原来打开则关闭,若原来关闭则打开 * */public void changeTrafficSituationState() mBaiduMap.setTrafficEnabled(!mBaiduMap.isTrafficEnabled();/* * 路径规划完成回调实现。路径规划完成绘制一条线路图 * * author 马陈杰 * since 2014.8.22 * version 1.0 * */private class MyDrivingRoutePlanCompleteCallback implementsDrivingRoutePlanCompleteCallback /* * 路径规划成功时,根据返回的途径点绘制一条路线 */Overridepublic void doRoutePlanSuccess(List points) overlayManager.drawLineOverlay(points, new RouteLineDrawInfo();/* * 路径规划失败时,什么都不做 */Overridepublic void doRoutePlanFailed() /* * 定位完成回调实现。成功定位后添加定位图层,将地图定位到定位点,并放大到街道缩放级别 * * author 马陈杰 * since 2014.8.22 * version 1.0 * */private class MyLocationSuccess implements LocationCompleteCallback /* * 定位成功,添加定位图层,将地图定位到定位点,并将地图放大到街道缩放级别 */Overridepublic void doOnLocationSuccess(double latitude, double longitude) /

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论