Нарисуйте маршрут между тремя координатами - PullRequest
1 голос
/ 10 ноября 2019

Я создал карту, где пользователь может перемещаться из точки A в точку B (используя API-интерфейсы google-maps), и теперь я застрял с третьей точкой.

Поэтому моя идея заключается в созданииначальная точка (текущее местоположение), которая нарисует маршрут к точке A и от точки A к точке B. Примерно так:

StartLocation - точка A - точка B.

В этот момент Iможно просто нарисовать маршрут из точки а в точку б.

    private String getRequestUrl(LatLng origin, LatLng dest) {
    //Setup the origin
    String str_origin = "origin=" + origin.latitude + "," + origin.longitude;
    //Setup the destination
    String str_dest = "destination=" + dest.latitude + "," + dest.longitude;
    //Setup sensor
    String str_sensor = "sensor=false";
    //Setup mode
    String str_mode = "mode=driving";
    //Setup path
    String str_path = str_origin + "&" + str_dest + "&" + str_sensor + "&" + str_mode;
    //Setup output
    String output = "json";
    //Setup API key
    String key = "key=MY-API-KEY";
    //URL for the data
    String url =  "https://maps.googleapis.com/maps/api/directions/" + output + "?" + str_path + "&" + key;

    return url;
}

Так, как я могу добавить дополнительный пункт назначения? Есть ли другой URL, где мы можем иметь 3 или более локаций? Пожалуйста, дайте мне знать.

1 Ответ

0 голосов
/ 10 ноября 2019

Вы можете использовать эту библиотеку. Проверьте пример использует

 LatLng start = new LatLng(18.015365, -77.499382);
 LatLng waypoint= new LatLng(18.01455, -77.499333);
 LatLng end = new LatLng(18.012590, -77.500659);

 Routing routing = new Routing.Builder()
                  .travelMode(Routing.TravelMode.WALKING)
                  .withListener(this)
                  .waypoints(start, waypoint, end)
                  .build();
 routing.execute();


 @Override
 public void onRoutingSuccess(ArrayList<Route> route, int shortestRouteIndex)
 {
       //code to add route to map here. See sample app for more details.
 }
...