ホームページ >Java >&#&チュートリアル >Java コードを使用して、Baidu Map 上のルート計画を通じて標準化された運転ルートを描画するにはどうすればよいですか?
Java コードを使用して、Baidu Maps でのルート計画を通じて標準化された運転ルートを描画するにはどうすればよいですか?
スマートフォンとオンライン地図の普及に伴い、正確な運転方向を知ることがますます重要になっています。開発者にとって、アプリケーションに運転ルート計画機能を実装できることは非常に便利です。 Baidu Maps は、開発者が Java コードを通じて地図上に標準化された運転ルートを描画できる豊富な API を提供します。
始める前に、Baidu Maps 開発者アカウントを申請し、アプリケーションを作成したことを確認する必要があります。次に、Baidu Map API の Java SDK をダウンロードし、プロジェクトの依存関係に追加する必要があります。
まず、地図上に運転ルートを表示するための Baidu マップ オブジェクトを作成する必要があります。次のコードを使用して、Baidu マップ ウィンドウを作成できます。
import com.baidu.mapapi.SDKInitializer; import com.baidu.mapapi.map.BaiduMap; import com.baidu.mapapi.map.MapView; public class MapActivity extends AppCompatActivity { private MapView mMapView; private BaiduMap mBaiduMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_map); mMapView = findViewById(R.id.mapView); mBaiduMap = mMapView.getMap(); } @Override protected void onDestroy() { super.onDestroy(); mMapView.onDestroy(); } @Override protected void onResume() { super.onResume(); mMapView.onResume(); } @Override protected void onPause() { super.onPause(); mMapView.onPause(); } }
次のステップは、ルート計画機能を実装することです。 Baidu Maps は、運転ルートを計画および検索するための RoutePlanSearch
クラスを提供します。上記のコードの onCreate
メソッドでは、RoutePlanSearch
オブジェクトをインスタンス化する必要があります:
import com.baidu.mapapi.model.LatLng; import com.baidu.mapapi.search.route.*; import com.baidu.mapapi.search.route.PlanNode; import com.baidu.mapapi.search.route.RoutePlanSearch; import com.baidu.mapapi.search.route.RoutePlanSearchOption; public class MapActivity extends AppCompatActivity { ... private RoutePlanSearch mRoutePlanSearch; @Override protected void onCreate(Bundle savedInstanceState) { ... mRoutePlanSearch = RoutePlanSearch.newInstance(); } ... }
次に、開始位置と終了位置によって運転ルートをクエリする必要があります。ルートをクエリする前に、始点と終点の緯度と経度の座標を指定する必要があります。たとえば、始点の経度と緯度が 39.915、116.404、終点の経度と緯度が 39.995、116.447 であると仮定すると、次のコードを通じてクエリを実行できます。
import com.baidu.mapapi.search.core.SearchResult; import com.baidu.mapapi.search.route.*; import com.baidu.mapapi.search.route.PlanNode; import com.baidu.mapapi.search.route.RoutePlanSearch; import com.baidu.mapapi.search.route.RoutePlanSearchOption; public class MapActivity extends AppCompatActivity { ... private RoutePlanSearch mRoutePlanSearch; @Override protected void onCreate(Bundle savedInstanceState) { ... mRoutePlanSearch.setOnGetRoutePlanResultListener(new OnGetRoutePlanResultListener() { @Override public void onGetWalkingRouteResult(WalkingRouteResult walkingRouteResult) { } @Override public void onGetTransitRouteResult(TransitRouteResult transitRouteResult) { } @Override public void onGetDrivingRouteResult(DrivingRouteResult drivingRouteResult) { if (drivingRouteResult == null || drivingRouteResult.error != SearchResult.ERRORNO.NO_ERROR) { // 查询失败处理 } else { // 获取驾车路线规划结果 DrivingRouteLine drivingRouteLine = drivingRouteResult.getRouteLines().get(0); // 在地图上绘制驾车路线 OverlayOptions overlayOptions = new DrivingRouteOverlay(mBaiduMap).setData(drivingRouteLine); overlayOptions.addToMap(); overlayOptions.zoomToSpan(); } } @Override public void onGetBikingRouteResult(BikingRouteResult bikingRouteResult) { } }); PlanNode startNode = PlanNode.withLocation(new LatLng(39.915, 116.404)); PlanNode endNode = PlanNode.withLocation(new LatLng(39.995, 116.447)); mRoutePlanSearch.drivingSearch(new DrivingRoutePlanOption().from(startNode).to(endNode)); } ... }
上記の例では、コードを渡す場合、mRoutePlanSearch.drivingSearch
このメソッドは、運転ルートをクエリし、OnGetRoutePlanResultListener
インターフェイスを通じてクエリ結果をリッスンします。クエリ結果にエラーがなければ、最初の走行ルートが取得され、地図上に描画されます。
上記の手順を完了すると、アプリケーションを実行して、標準化された運転ルートを地図上に表示できます。同時に、必要に応じて地図のスタイルをカスタマイズしたり、旅行ルートをマークしたりすることもできます。
概要
この記事では、Java コードを使用して、Baidu Maps でのルート計画を通じて標準化された運転ルートを描画する方法を紹介します。 Baidu Maps が提供する API を通じて、この機能を簡単に実装し、より良いユーザー エクスペリエンスを提供できます。
上記はコード例です。お役に立てれば幸いです。独自のニーズに応じて変更および拡張し、より多くの機能を実現できます。 Baidu Map API の使用が成功することを祈っています。
以上がJava コードを使用して、Baidu Map 上のルート計画を通じて標準化された運転ルートを描画するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。