ホームページ >Java >&#&チュートリアル >Google Maps API v2 を使用してターンバイターン方式のルート案内を取得するにはどうすればよいですか?

Google Maps API v2 を使用してターンバイターン方式のルート案内を取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-31 04:32:02293ブラウズ

How to Get Turn-by-Turn Driving Directions Using Google Maps API v2?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。