高德地图驾车路径规划详情获取
来源:互联网 发布:sql存储过程中使用游标 编辑:程序博客网 时间:2024/04/28 08:15
用到这个功能,花了不少时间,还是在大神的指点下才弄出来。没办法毕竟菜鸟一个,原来没有写博客的习惯,从来都是看大神的,然后去用,现在开始记录一下吧,。。。。菜鸟博客,有不对的地方轻喷。。。
从高德的sdk和demo里 找了半天,刚开始一直在3D地图里面找,寻找有关drive的类,不要怪 英文毕竟太菜。。。。也百度了一些相关的 ,但是我还是没弄出来….最后才找到原来这个东西在 AMap_Android_Navi SDK_All 这个demo里…这个demo里面有一个 GetNaviStepsAndLinksActivity 类,真是服了自己的智商….. 类的代码
public class GetNaviStepsAndLinksActivity extends BaseActivity {
private AMapNaviPath mAMapNaviPath;private List<AMapNaviStep> steps;private List<AMapNaviLink> links;private List<AMapNaviGuide> guides;@Overrideprotected void onCreate(Bundle savedInstanceState) { mEndLatlng = new NaviLatLng(45.742367, 126.661665); mStartLatlng = new NaviLatLng(22.373594, 113.562575); super.onCreate(savedInstanceState); setContentView(R.layout.activity_basic_navi); mAMapNaviView = (AMapNaviView) findViewById(R.id.navi_view); mAMapNaviView.onCreate(savedInstanceState); mAMapNaviView.setAMapNaviViewListener(this);}@Overridepublic void onNaviInfoUpdate(NaviInfo naviinfo) { super.onNaviInfoUpdate(naviinfo); int currentStep = naviinfo.getCurStep(); int currentLink = naviinfo.getCurLink(); Log.d("wlx", "当前Step index:" + currentStep + "当前Link index:" + currentLink);}@Overridepublic void onCalculateRouteSuccess() { super.onCalculateRouteSuccess(); //概览 guides = mAMapNavi.getNaviGuideList(); //详情 mAMapNaviPath = mAMapNavi.getNaviPath(); steps = mAMapNaviPath.getSteps(); if (guides.size() == steps.size()) { Toast.makeText(this, "看log", Toast.LENGTH_SHORT).show(); for (int i = 0; i < steps.size() - 1; i++) { //guide step相生相惜,指的是大导航段 AMapNaviGuide guide = guides.get(i); Log.d("wlx", "AMapNaviGuide 路线经纬度:" + guide.getCoord() + ""); Log.d("wlx", "AMapNaviGuide 路线名:" + guide.getName() + ""); Log.d("wlx", "AMapNaviGuide 路线长:" + guide.getLength() + "m"); Log.d("wlx", "AMapNaviGuide 路线耗时:" + guide.getTime() + "s"); Log.d("wlx", "AMapNaviGuide 路线IconType" + guide.getIconType() + ""); AMapNaviStep step = steps.get(i); Log.d("wlx", "AMapNaviStep 距离:" + step.getLength() + "m" + " " + "耗时:" + step.getTime() + "s"); Log.d("wlx", "AMapNaviStep 红绿灯个数:" + step.getTrafficLightNumber()); //link指的是大导航段中的小导航段 links = step.getLinks(); for (AMapNaviLink link : links) {
// 请看com.amap.api.navi.enums.RoadClass,以及帮助文档
Log.d(“wlx”, “AMapNaviLink 道路名:” + link.getRoadName() + ” ” + “道路等级:” + link.getRoadClass());
// 请看com.amap.api.navi.enums.RoadType,以及帮助文档
Log.d(“wlx”, “AMapNaviLink 道路类型:” + link.getRoadType());
} } } else { Toast.makeText(this, "BUG!请联系我们", Toast.LENGTH_SHORT).show(); }}
}
还真是有点调皮,详情获取在 public void onCalculateRouteSuccess() 这个方法里面,相信大家都一看就会懂。
这里得到的icontype是高德指定的一堆数字,如果需要显示路况转向的图片的话,那么获得到这些数字之后要自己去对应图片显示,如果你不想去找本菜鸟可以贴几个出来
public class AMapNaviGuide {
/* @deprecated /
public static int IconTypeNone = 0;
/* @deprecated /
public static int IconTypeDefault = 1;
/* @deprecated /
public static int IconTypeLeft = 2;
/* @deprecated /
public static int IconTypeRight = 3;
/* @deprecated /
public static int IconTypeLeftFront = 4;
/* @deprecated /
public static int IconTypeRightFront = 5;
/* @deprecated /
public static int IconTypeLeftBack = 6;
/* @deprecated /
public static int IconTypeRightBack = 7;
/* @deprecated /
public static int IconTypeLeftAndAround = 8;
/* @deprecated /
public static int IconTypeStraight = 9;
/* @deprecated /
public static int IconTypeArrivedWayPoint = 10;
/* @deprecated /
public static int IconTypeEnterRoundabout = 11;
/* @deprecated /
public static int IconTypeOutRoundabout = 12;
/* @deprecated /
public static int IconTypeArrivedServiceArea = 13;
/* @deprecated /
public static int IconTypeArrivedTollGate = 14;
/* @deprecated /
public static int IconTypeArrivedDestination = 15;
/* @deprecated /
public static int IconTypeArrivedTunnel = 16;
/* @deprecated /
public static int IconTypeCrosswalk = 17;
/* @deprecated /
public static int IconTypeOverpass = 18;
/* @deprecated /
public static int IconTypeUnderpass = 19;
/* @deprecated /
public static int IconTypeSquare = 20;
/* @deprecated /
public static int IconTypePark = 21;
/* @deprecated /
public static int IconTypeStaircase = 22;
/* @deprecated /
public static int IconTypeLift = 23;
当然图片可以自己重新做, 这里实现路径详情显示展示出来就很简单了,自己写了list集合获取到数据之后用Adapter写入控件就行啦。。
好吧,就到这里了 本来想贴一下自己的代码,但是显示不出来 。不清楚情况。
希望能对大家有一点点帮助..
- 高德地图驾车路径规划详情获取
- 高德地图WebAPI : 驾车路径规划
- 高德地图JavascriptAPI:驾车路径规划
- Android 高德地图驾车路线规划
- android 高德地图 驾车路线规划
- 高德地图AndroidSDK 路线规划详情获取-by TomHawk
- 高德地图路径规划
- 高德地图中实现实时定位、驾车路线规划,点间距
- 高德地图线路规划的接入使用(步行-公交-驾车)
- 高德地图04--路径规划
- Android 基于高德地图路径规划
- android 百度地图 驾车路径的距离获取
- 【高德地图API】从零开始学高德JS API(五)路线规划——驾车|公交|步行
- 【高德地图API】从零开始学高德JS API(五)路线规划——驾车|公交|步行
- 高德地图---路径规划---语音导航的开发
- iOS高德地图使用-搜索,路径规划
- iOS高德地图使用-搜索,路径规划
- 高德地图简单实现及路径规划
- LeetCode题解-101-Symmetric Tree
- SpringMVC视图解析器:配置多个视图解析器的优先级
- 谈谈网络请求
- Quartz定时器
- ucos-ii的任务调度
- 高德地图驾车路径规划详情获取
- 密文
- 必须掌握的八个DOS网络命令
- 键盘回车事件导致页面刷新的问题
- java NIO原理 图文分析及代码实现
- Servlet 中文乱码问题及解决方案剖析
- 排序算法系列---快速选择排序(C++)
- solr操作
- wlan