Как нарисовать маршрут между несколькими картами Android LatLong? - PullRequest
0 голосов
/ 01 июля 2018

Я работаю над проектом Android, в котором я хочу нарисовать маршрут между 2 точками на карте Google. Я успешно нарисовал маршрут между источником и пунктом назначения. Но у меня есть одна проблема в этом, то есть иногда я хочу нарисовать путь между более чем 2 точками. Тогда код, который я написал, рисует маршрут между первой и последней позицией и покидает позицию средней точки. То, что я точно хочу, - это мой маршрут должен проходить через среднюю точку к пункту назначения. Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

Вы можете использовать PolylineOptions из API GoogleMaps Dcoumented Here и продолжать добавлять все точки, которые должны быть частью вашего маршрута. Вы можете сделать что-то вроде этого

        ArrayList<LatLng> points;
        PolylineOptions lineOptions = null;

        // Traversing through all the routes
        for (int i = 0; i < result.size(); i++) {
            points = new ArrayList<>();
            lineOptions = new PolylineOptions();

            // Fetching i-th route
            List<HashMap<String, String>> path = result.get(i);

            // Fetching all the points in i-th route
            for (int j = 0; j < path.size(); j++) {
                HashMap<String, String> point = path.get(j);

                double lat = Double.parseDouble(point.get("lat"));
                double lng = Double.parseDouble(point.get("lng"));
                LatLng position = new LatLng(lat, lng);

                points.add(position);
            }

            // Adding all the points in the route to LineOptions
            lineOptions.addAll(points);
            lineOptions.width(10);
            lineOptions.color(Color.RED);

        }

        // Drawing polyline in the Google Map for the i-th route
        if(lineOptions != null) {
            mMap.addPolyline(lineOptions);
        }

Надеюсь, это решит вашу проблему.

0 голосов
/ 01 июля 2018

Вы можете отдельно рисовать маршруты между тремя точками. Итак, сначала нарисуйте маршрут от начальной точки к средней точке, затем от средней точки к конечной точке. Затем, если вы хотите добавить необходимые маркеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...