首页 > Java > java教程 > 正文

如何使用 Google Maps API v2 获取路线规划行车路线?

Mary-Kate Olsen
发布: 2024-10-31 04:32:02
原创
177 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!