发起路线规划搜索示例
2015-10-13 16:51
344 查看
第一步:先 implements OnGetRoutePlanResultListener
第二步:获取起点和终点的经纬度
double lat = (double) getonLat / 1000000;
double log = (double) getonLon / 1000000;
startPoint = new LatLng(lat, log);// 起点
double offlat = (double) getoffLat / 1000000;
double offlog = (double) getoffLon / 1000000;
endPoint = new LatLng(offlat, offlog);// 终点
第三步:调用SearchButtonProcess();
SearchButtonProcess(startPoint, endPoint);// MapUtil.getCurrentLocation()
部分源码:
/**
* 发起路线规划搜索示例
*
* @param v
*/
private void SearchButtonProcess(LatLng llA, LatLng llB) {
// 初始化搜索模块,注册事件监听
mSearch = RoutePlanSearch.newInstance();
mSearch.setOnGetRoutePlanResultListener(this);
PlanNode stNode = PlanNode.withLocation(llA);
PlanNode enNode = PlanNode.withLocation(llB);
mSearch.drivingSearch((new DrivingRoutePlanOption()).from(stNode).to(
enNode));
}
@Override
public void onGetDrivingRouteResult(DrivingRouteResult result) {
// 获取驾车线路规划结果
if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {
Toast.makeText(IndividualOrderActivity.this, "抱歉,未找到结果",
Toast.LENGTH_SHORT).show();
}
if (result.error == SearchResult.ERRORNO.AMBIGUOUS_ROURE_ADDR) {
// 起终点或途经点地址有岐义,通过以下接口获取建议查询信息
// result.getSuggestAddrInfo()
return;
}
if (result.error == SearchResult.ERRORNO.NO_ERROR) {
DrivingRouteOverlay overlay = new DrivingRouteOverlay(mBaidumap);
routeOverlay = overlay;
mBaidumap.setOnMarkerClickListener(overlay);
overlay.setData(result.getRouteLines().get(0));
overlay.addToMap();
overlay.zoomToSpan();
}
}
@Override
public void onGetTransitRouteResult(TransitRouteResult arg0) {
// 获取公交换乘路径规划结果
}
@Override
public void onGetWalkingRouteResult(WalkingRouteResult arg0) {
// 获取步行线路规划结果
}
第二步:获取起点和终点的经纬度
double lat = (double) getonLat / 1000000;
double log = (double) getonLon / 1000000;
startPoint = new LatLng(lat, log);// 起点
double offlat = (double) getoffLat / 1000000;
double offlog = (double) getoffLon / 1000000;
endPoint = new LatLng(offlat, offlog);// 终点
第三步:调用SearchButtonProcess();
SearchButtonProcess(startPoint, endPoint);// MapUtil.getCurrentLocation()
部分源码:
/**
* 发起路线规划搜索示例
*
* @param v
*/
private void SearchButtonProcess(LatLng llA, LatLng llB) {
// 初始化搜索模块,注册事件监听
mSearch = RoutePlanSearch.newInstance();
mSearch.setOnGetRoutePlanResultListener(this);
PlanNode stNode = PlanNode.withLocation(llA);
PlanNode enNode = PlanNode.withLocation(llB);
mSearch.drivingSearch((new DrivingRoutePlanOption()).from(stNode).to(
enNode));
}
@Override
public void onGetDrivingRouteResult(DrivingRouteResult result) {
// 获取驾车线路规划结果
if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {
Toast.makeText(IndividualOrderActivity.this, "抱歉,未找到结果",
Toast.LENGTH_SHORT).show();
}
if (result.error == SearchResult.ERRORNO.AMBIGUOUS_ROURE_ADDR) {
// 起终点或途经点地址有岐义,通过以下接口获取建议查询信息
// result.getSuggestAddrInfo()
return;
}
if (result.error == SearchResult.ERRORNO.NO_ERROR) {
DrivingRouteOverlay overlay = new DrivingRouteOverlay(mBaidumap);
routeOverlay = overlay;
mBaidumap.setOnMarkerClickListener(overlay);
overlay.setData(result.getRouteLines().get(0));
overlay.addToMap();
overlay.zoomToSpan();
}
}
@Override
public void onGetTransitRouteResult(TransitRouteResult arg0) {
// 获取公交换乘路径规划结果
}
@Override
public void onGetWalkingRouteResult(WalkingRouteResult arg0) {
// 获取步行线路规划结果
}
相关文章推荐
- python多线程编程(一)--thread模块
- 问题备忘录
- springMVC 与 struts2的区别
- UVa1347 - Tour
- TabHost使用详解(实现滑动切换选项卡)
- 一个经常使用的monkey脚本
- weiphp 数据统计插件
- MooseFS之MFS客户端的安装和配置
- iOS界面之间的传值
- java对视频进行截图
- windows 8.1 安装 mysql 5.6 教程
- 快速排序 php
- RandomAccessFile、FileChannel、MappedByteBuffer读写文件
- [cocos2d-x 3.0] 触摸显示器
- 【转】vs2010打开qt的.pro文件时错误解决办法
- C# DataTable的详细用法
- ajax技术基础详解
- leetcode 29:Divide Two Integers
- 怎样做才是一个合格的程序员
- UI 核心动画效果设置