我们可以在Android中使用web服务google方向api吗?如果是这样,我如何在地图中显示多边形?

时间:2017-11-08 22:34:51

标签: android maps android-maps

如何在Android地图上显示多边形点?这是我从方向API获得的示例JSON。我想在android地图上绘制overview_polyline。随着android地图折线使用LatLng添加。

以下是示例JSON https://codebeautify.org/jsonviewer/cb8d34d5

1 个答案:

答案 0 :(得分:1)

参考 - http://javapapers.com/android/draw-path-on-google-maps-android-api/

private List<LatLng> decodePoly(String encoded) {

        List<LatLng> poly = new ArrayList<LatLng>();
        int index = 0, len = encoded.length();
        int lat = 0, lng = 0;

        while (index < len) {
            int b, shift = 0, result = 0;
            do {
                b = encoded.charAt(index++) - 63;
                result |= (b & 0x1f) << shift;
                shift += 5;
            } while (b >= 0x20);
            int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
            lat += dlat;

            shift = 0;
            result = 0;
            do {
                b = encoded.charAt(index++) - 63;
                result |= (b & 0x1f) << shift;
                shift += 5;
            } while (b >= 0x20);
            int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
            lng += dlng;

            LatLng p = new LatLng((((double) lat / 1E5)),
                    (((double) lng / 1E5)));
            poly.add(p);
        }
        return poly;
    }