首頁 >Java >java教程 >如何使用 Google Maps API v2 取得路線規劃行車路線?

如何使用 Google Maps API v2 取得路線規劃行車路線?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-31 04:32:02289瀏覽

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

使用 Google Maps API v2 取得行車路線

取得兩個位置之間的行車路線是許多地圖應用程式的常見要求。但是,您提供的程式碼僅在點之間繪製一條直線,而不是提供逐嚮導航。

使用 Android GoogleDirection Library 的解決方案

要檢索行車路線,您可以使用 Android GoogleDirectionLibrary,這是 akexorcist 最近發布的庫。以下是使用該庫的修改後的程式碼片段:

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
            }
        });

使用此修改後的程式碼,您應該能夠取得兩個位置之間的行車路線,包括逐向指示。

以上是如何使用 Google Maps API v2 取得路線規劃行車路線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn