Google Maps API v2 を使用して運転ルートを取得する
2 つの場所間の運転ルートを取得することは、多くの地図アプリケーションの共通の要件です。ただし、指定したコードは、ターンバイターンの道順を提供するのではなく、ポイント間に直線を描画するだけです。
Android GoogleDirection ライブラリを使用したソリューション
運転ルートを取得するには、akexorcist によって最近リリースされたライブラリである Android GoogleDirectionLibrary を利用できます。このライブラリを使用した変更されたコード スニペットは次のとおりです。
import com.akexorcist.googledirection.DirectionCallback; import com.akexorcist.googledirection.GoogleDirection; import com.akexorcist.googledirection.model.Direction; import com.akexorcist.googledirection.model.Leg; import com.akexorcist.googledirection.model.Route; import com.akexorcist.googledirection.util.DirectionConverter; ... // Replace with your API key String apiKey = "YOUR_API_KEY"; GoogleDirection.withServerKey(apiKey) .from(new LatLng(12.917745600000000000,77.623788300000000000)) .to(new LatLng(12.842056800000000000,7.663096499999940000)) .execute(new DirectionCallback() { @Override public void onDirectionSuccess(Direction direction, String rawBody) { if (direction.isOK()) { Route route = direction.getRouteList().get(0); Leg leg = route.getLegList().get(0); // Draw the path (Polylines) List<LatLng> directionPositionList = DirectionConverter.decodePoly(leg.getPolylinePoint()); Polyline line = mMap.addPolyline(new PolylineOptions() .addAll(directionPositionList) .width(5) .color(Color.RED)); // Display turn-by-turn instructions String[] instructions = DirectionConverter.provideInstructionList(leg); for (String instruction : instructions) { Log.d("Direction", instruction); } } else { // Handle error } } @Override public void onDirectionFailure(Throwable t) { // Handle error } });
この変更されたコードを使用すると、ターンバイターンの指示を含む、2 つの場所間の運転ルートを取得できるようになります。
以上がGoogle Maps API v2 を使用してターンバイターン方式のルート案内を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。