使用 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中文網其他相關文章!