百度地图再进阶之路线规划
来源:互联网 发布:织梦cms安装教程 编辑:程序博客网 时间:2024/04/27 15:18
路线规划包含,驾车、公交、和步行三种
今天我们一起来,一一看下。
DrivingRouteLine表示驾车路线
DrivingRouteLine.DrivingStep表示一个驾车路段
DrivingRoutePlanOption驾车路线规划参数
DrivingRouteResult驾车路线结果
PlanNode路径规划中的出行节点信息,出行节点包括:起点,终点,途经点 出行节点信息可以通过两种方式确定: 1: 给定出行节点经纬度坐标 2: 给定出行节点地名和城市名
RoutePlanSearch路径规划搜索接口
SuggestAddrInfo TransitRouteLine表示一个换乘路线,换乘路线将根据既定策略调配多种交通工具。
TransitRouteLine.TransitStep表示一个换乘路段
TransitRoutePlanOption换乘路线规划参数
TransitRouteResult换乘路线结果
WalkingRouteLine表示一条步行路线
WalkingRouteLine.WalkingStep描述一个步行路段
WalkingRoutePlanOption步行路线规划参数
WalkingRouteResult表示步行路线结果
第一步,创建驾车线路规划检索实例;
第二步,创建驾车线路规划检索监听者;
第三步,设置驾车线路规划检索监听者;
第四步,准备检索起、终点信息;
第五步,发起驾车线路规划检索;
第六步,释放检索实例;
首先布局还是那个仅有一个lixtview的布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".IndexActivity" > <ListView android:id="@+id/mylistView" android:layout_width="wrap_content" android:layout_height="wrap_content" /></RelativeLayout>驾车路线的规划
package com.flyou.hellomap;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.KeyEvent;import android.widget.ArrayAdapter;import android.widget.ListView;import com.baidu.mapapi.SDKInitializer;import com.baidu.mapapi.search.route.DrivingRouteLine;import com.baidu.mapapi.search.route.DrivingRoutePlanOption;import com.baidu.mapapi.search.route.DrivingRouteResult;import com.baidu.mapapi.search.route.OnGetRoutePlanResultListener;import com.baidu.mapapi.search.route.PlanNode;import com.baidu.mapapi.search.route.RoutePlanSearch;import com.baidu.mapapi.search.route.TransitRouteResult;import com.baidu.mapapi.search.route.WalkingRouteResult;public class RouteMapActivity extends Activity { private int totalpages = 0; private ListView listView = null; private RoutePlanSearch routeSearch; private int currentPage = 0; ArrayAdapter<String> adapter = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 在使用SDK各组件之前初始化context信息,传入ApplicationContext // 注意该方法要再setContentView方法之前实现 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_index); listView = (ListView) findViewById(R.id.mylistView); // 第一步,创建路线检索实例 routeSearch = RoutePlanSearch.newInstance(); // 第三步,设置路线检索监听者; routeSearch.setOnGetRoutePlanResultListener(routeListener); } // 第二步,创建POI检索监听者; OnGetRoutePlanResultListener routeListener = new OnGetRoutePlanResultListener() { @Override public void onGetDrivingRouteResult(DrivingRouteResult drivingResult) { // TaxiInfo taxiInfo = drivingResult.getTaxiInfo(); 已经弃用 List<String> datas = new ArrayList<String>(); List<DrivingRouteLine> routeLines = drivingResult.getRouteLines(); if (routeLines != null) { for (DrivingRouteLine drivingRouteLine : routeLines) { // 分别列出路线的第一步 datas.add(drivingRouteLine.getAllStep().get(0).getExitInstructions() + ",距离:" + drivingRouteLine.getDistance() / 1000.f + "千米,大约用时:" + drivingRouteLine.getDuration() / 60 + "分"); } listView .setAdapter(new ArrayAdapter<String>(RouteMapActivity.this, android.R.layout.simple_list_item_1, datas)); // SuggestAddrInfo suggestAddrInfo = drivingResult.getSuggestAddrInfo(); // 使用方法与上面类似 } } @Override public void onGetTransitRouteResult(TransitRouteResult transitResult) { } @Override public void onGetWalkingRouteResult(WalkingRouteResult walkingResult) { } }; @Override protected void onDestroy() { super.onDestroy(); // 第六步,释放检索实例; // 在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理 routeSearch.destroy(); } @Override protected void onResume() { super.onResume(); // 在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理 } @Override protected void onPause() { super.onPause(); // 在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理 } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_MENU: // 第四步,准备检索起、终点信息; PlanNode stNode = PlanNode.withCityNameAndPlaceName("开封", "河南大学新校区西门"); PlanNode enNode = PlanNode.withCityNameAndPlaceName("开封", "鼓楼广场"); // 第五步,发起驾车线路规划检索; routeSearch.<span style="color:#ff0000;">drivingSearch(new DrivingRoutePlanOption().from(stNode).to(enNode))</span>;<span style="white-space:pre"></span> currentPage++; if (currentPage == totalpages) { currentPage = 0; } break; } return super.onKeyDown(keyCode, event); }}
公交:
步行
0 0
- 百度地图再进阶之路线规划
- 百度地图再进阶之路线规划
- 百度地图之路线规划
- 百度地图api之路线规划
- 百度地图2.2+路线规划
- 百度地图的路线规划
- 百度地图实现路线规划
- 百度地图总结第四篇之路线规划功能
- Android 开发百度地图之五 路线规划
- android百度地图之电子栅栏路线规划
- 百度地图api实现路线规划之步行驾车
- 百度地图 点击地图规划路线
- 百度地图定位和路线规划
- 百度地图自定义多点规划路线
- 百度地图路线规划功能的实现
- web百度地图API路线规划+导航
- 百度地图api绘制路线规划实例
- 百度地图之路线检索
- [POJ] 2318 -> TOYS
- p123第29题(输出下标为3456的数)
- setTimeout和setInterval
- Linux的五个查找命令
- PHP 较全面的mysql.class.php
- 百度地图再进阶之路线规划
- QString 与 QByteArray的转换
- 03_Weblogic之配置简单域:启动和配置域,使用模板创建域,使用控制台
- 解决【应用程序已被安全设置阻止】弹出框的手动设置方法
- java基本类型和包装类
- BASH 中单括号和双括号
- FZU 2193 So Hard (把小数换为分数)
- 虚拟机之痛-- 记生产环境虚机存储故障
- 《重要》从用户模式切换到内核模式的完整过程分析