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