BaiduMap---百度地图官⽅Demo之路径规划功能(介绍公交,驾车和步⾏三种线路规划。。。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="schemas.android/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
xmlns:android="schemas.android/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="起点:" />
<EditText
android:id="@+id/start"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:text="龙泽" >
<requestFocus />
</EditText>
</LinearLayout>
<LinearLayout
xmlns:android="schemas.android/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="终点:" />
<EditText
android:id="@+id/end"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:text="西单" >
<requestFocus />
</EditText>
</LinearLayout>
<LinearLayout
xmlns:android="schemas.android/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dip"
android:layout_marginTop="5dip"
<Button
android:id="@+id/drive"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="2dip"
android:layout_marginRight="2dip"
android:layout_weight="1.0"
android:background="@drawable/button_style"
android:onClick="SearchButtonProcess"
android:text="驾车搜索" />
<Button
android:id="@+id/transit"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="2dip"
android:layout_marginRight="2dip"
android:layout_weight="1.0"
android:background="@drawable/button_style"
android:onClick="SearchButtonProcess"
android:text="公交搜索" />
<Button
android:id="@+id/walk"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="2dip"
android:layout_marginRight="2dip"
android:layout_weight="1.0"
android:background="@drawable/button_style"
android:onClick="SearchButtonProcess"
android:text="步⾏搜索" />
</LinearLayout>
<RelativeLayout
xmlns:android="schemas.android/apk/res/android"        android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.baidu.mapapi.map.MapView
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
<LinearLayout
xmlns:android="schemas.android/apk/res/android"            android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_alignWithParentIfMissing="false"
android:layout_marginRight="10dp"
android:layout_marginTop="10dip"
android:orientation="vertical" >
<Button
android:id="@+id/customicon"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="10dip"
android:layout_weight="1.0"
android:background="@drawable/button_style"
android:text="⾃定义起终点图标" />
</LinearLayout>
<LinearLayout
xmlns:android="schemas.android/apk/res/android"            android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignWithParentIfMissing="false"
android:layout_centerHorizontal="true"
android:layout_centerVertical="false"
android:layout_marginBottom="10dip" >
<Button
android:id="@+id/pre"
android:layout_width="fill_parent"go2map地图北京
android:layout_height="fill_parent"
android:layout_marginLeft="2dip"
android:layout_marginRight="2dip"
android:layout_weight="1.0"
android:background="@drawable/pre_"
android:onClick="nodeClick" />
<Button
android:id="@+id/next"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="2dip"
android:layout_marginRight="2dip"
android:layout_weight="1.0"
android:background="@drawable/next_"
android:onClick="nodeClick" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
/**
* 此demo⽤来展⽰如何进⾏驾车、步⾏、公交路线搜索并在地图使⽤RouteOverlay、TransitOverlay绘制 * 同时展⽰如何进⾏节点浏览并弹出泡泡
*
* 介绍公交,驾车和不⾏三种线路规划⽅法和⾃设路线⽅法
*/
public class RoutePlanDemo extends Activity implements BaiduMap.OnMapClickListener,
OnGetRoutePlanResultListener {
//上⼀个节点
Button mBtnPre = null;
//下⼀个节点
Button mBtnNext = null;
//节点索引,供浏览节点时使⽤
int nodeIndex = -1;
/**
* 路线数据结构的基类,表⽰⼀条路线,路线可能包括:路线规划中的换乘/驾车/步⾏路线
* 此类为路线数据结构的基类,⼀般关注其⼦类对象即可,⽆需直接⽣成该类对象
* */
RouteLine route = null;
/**
* 该类提供⼀个能够显⽰和管理多个Overlay的基类
* */
OverlayManager routeOverlay = null;
boolean useDefaultIcon = false;
private TextView popupText = null;//泡泡view
//地图相关,使⽤继承MapView的MyRouteMapView⽬的是重写touch事件实现泡泡处理
//如果不处理touch事件,则⽆需继承,直接使⽤MapView即可
// 地图View
MapView mMapView = null;
BaiduMap mBaidumap = null;
/**
* 路径规划搜索接⼝
* */
RoutePlanSearch mSearch = null;    // 搜索模块,也可去掉地图模块独⽴使⽤
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_routeplan);
CharSequence titleLable = "路线规划功能";
setTitle(titleLable);
//初始化地图
mMapView = (MapView) findViewById(R.id.map);
mBaidumap = Map();
mBtnPre = (Button) findViewById(R.id.pre);
mBtnNext = (Button) findViewById();
mBtnPre.setVisibility(View.INVISIBLE);
mBtnNext.setVisibility(View.INVISIBLE);
/**
* public final void setOnMapClickListener(BaiduMap.OnMapClickListener listener)
* 设置地图单击事件监听者
* @param listener - 地图单击事件监听者
* 需要实现BaiduMap.OnMapClickListener接⼝的
* onMapClick(LatLng point)和onMapPoiClick(MapPoi poi)⽅法
* */
mBaidumap.setOnMapClickListener(this);
/**
* public static RoutePlanSearch newInstance()
* 获取RoutePlan检索实例
* @param RoutePlan检索实例
* */
mSearch = wInstance();
/**
* public void setOnGetRoutePlanResultListener(OnGetRoutePlanResultListener listener)        * 设置路线检索监听者
* @param listener - 监听者
* 需要实现以下⽅法:
* onGetDrivingRouteResult(DrivingRouteResult result)
* onGetTransitRouteResult(TransitRouteResult result)
* onGetWalkingRouteResult(WalkingRouteResult result)
* */
mSearch.setOnGetRoutePlanResultListener(this);
}
/**
* 驾车搜索,公交搜索,步⾏搜索按钮点击事件
*
* 发起路线规划搜索⽰例
* @param v

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。