如何在两个位置android之间的实际道路上绘制路径

时间:2015-12-15 09:40:25

标签: android google-maps

我想在Android谷歌地图上绘制两个位置之间的路径。我已经厌倦了这段代码

PolylineOptions options = new PolylineOptions().width(5).color(Color.BLUE).geodesic(true);

        if (cursor.moveToFirst()) {
            do {

                // latitude and longitude
                double latitude = 0.00;
                double longitude = 0.00;


                Log.i("lat", cursor.getString(10));
                Log.i("lat", cursor.getString(11));


                try {
                    latitude = Double.parseDouble(cursor.getString(10));
                } catch (Exception e) {

                }

                try {
                    longitude = Double.parseDouble(cursor.getString(11));
                } catch (Exception e) {

                }
                if (latitude == 0.00 || longitude == 0.00) {

                } else {
                    i++;





                        LatLng point = new LatLng(latitude,longitude);
                        options.add(point);



                    // create marker
                    MarkerOptions marker = new MarkerOptions().position(
                            new LatLng(latitude, longitude)).title(cursor.getString(1));

                }

            }
            while (cursor.moveToNext());
        }
        cursor.close();


        googleMap.addPolyline(options);

但我有直线。像这样

my map view

我想在实际的道路上找到路径。

谢谢.. !!

2 个答案:

答案 0 :(得分:1)

如果您想在2点之间绘制一条折线,可以尝试使用库Google-Directions-Android

您可以使用compile 'com.github.jd-alexander:library:1.0.7'

在gradle上添加库

您可以使用所有点(Latlng)并将它们用于航点方法。

Routing routing = new Routing.Builder()
                .travelMode(/* Travel Mode */)
                .withListener(/* Listener that delivers routing results.*/)
                .waypoints(/*waypoints*/)
                .build();
    routing.execute();

答案 1 :(得分:0)

请检查此答案,如果您需要,请告诉我们:

https://stackoverflow.com/a/17007360/2027644