actitvity.java中
package com.example.lgkj.bugmapapp;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.search.route.BikingRouteResult;
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.IndoorRouteResult;
import com.baidu.mapapi.search.route.MassTransitRouteResult;
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_route_map);
listView = (ListView) findViewById(R.id.mylistView);
// 第一步,創建路線檢索實例
routeSearch = RoutePlanSearch.newInstance();
// 第三步,設置路線檢索監聽者;
routeSearch.setOnGetRoutePlanResultListener(routeListener);
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 第四步,准備檢索起、終點信息;
PlanNode stNode = PlanNode.withCityNameAndPlaceName("開封", "河南大學新校區西門");
PlanNode enNode = PlanNode.withCityNameAndPlaceName("開封", "鼓樓廣場");
// 第五步,發起駕車線路規划檢索;
routeSearch.drivingSearch(new DrivingRoutePlanOption().from(stNode).to(enNode));
currentPage++;
if (currentPage == totalpages) {
currentPage = 0;
}
}
});
}
// 第二步,創建POI檢索監聽者;
OnGetRoutePlanResultListener routeListener = new OnGetRoutePlanResultListener() {
private String s = null;
@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 onGetIndoorRouteResult(IndoorRouteResult indoorRouteResult) {
}
@Override
public void onGetBikingRouteResult(BikingRouteResult bikingRouteResult) {
}
@Override
public void onGetTransitRouteResult(TransitRouteResult transitResult) {
}
@Override
public void onGetMassTransitRouteResult(MassTransitRouteResult massTransitRouteResult) {
}
@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 (),實現地圖生命周期管理
}
}
xml中
<?xml version="1.0" encoding="utf-8"?>
<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">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button"/>
<ListView
android:id="@+id/mylistView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
詳情請看原文
https://blog.csdn.net/u013616976/article/details/45460519#
