【问题标题】:How to display route on Google Maps for Android如何在 Android 版 Google 地图上显示路线
【发布时间】:2017-06-19 20:34:27
【问题描述】:

我有一个应用程序,它通过 com.google.maps.DirectionsApi 类检索路线列表并返回类型对象中的路线 com.google.maps.model.DirectionsResult,如何在 Google Maps Activity 中显示此对象中包含的路线?

【问题讨论】:

    标签: java android google-maps google-maps-api-3


    【解决方案1】:

    我了解到您使用的是Java Client for Google Maps Services。

    您应该遍历 com.google.maps.model.DirectionsResult 的结构以获取所有 LatLng 并使用Polyline 在地图上绘制路线。

    com.google.maps.model.DirectionsResult 包含一组路线 (DirectionsRoute)。 com.google.maps.model.DirectionsRoute 包含一组腿 (DirectionsLeg)。 com.google.maps.model.DirectionsLeg 包含一系列步骤 (DirectionsStep)。 com.google.maps.model.DirectionsStep 包含编码的折线。您可以从每条编码折线中获取 LatLng 列表,并使用它来构造折线对象。

    代码 sn-p 可能类似于

    for (int i=0; i<result.routes.length; i++) {
        DirectionsRoute route = result.routes[i];
        PolylineOptions polyOptions = new PolylineOptions();
        for (int j=0; j<route.legs.length; j++) {
            DirectionsLeg leg = route.legs[j];
            for (int k=0; k<leg.steps.length; k++) {
                DirectionsStep step = leg.steps[k];
                EncodedPolyline encpoly = step.polyline;
                List<LatLng> points = encpoly.decodePath();
                polyOptions.addAll(points);
            }
        } 
        Polyline p = googleMap.addPolyline(polyOptions);
    }   
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多