Разбор файла json API направления Google - PullRequest
0 голосов
/ 26 июня 2011

Я использовал Google direction API и получил данные в виде файла json. Мой URL-адрес как

http://maps.googleapis.com/maps/api/directions/json?origin=Adelaide,SA&destination=Adelaide,SA&waypoints=optimize:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SA&sensor=false

и я использовал параметр optimized: true. Когда я читаю, это дает мне оптимальный путь от источника до места назначения через путевые точки. И сейчас я точно не знаю структуру файла json. Я просматриваю структуру файла json, но не знаю, как определить порядок путей, который мне дает API направления Google.

Ответы [ 3 ]

1 голос
/ 26 июня 2011
0 голосов
/ 03 мая 2017

Звонок, который вы упомянули, даст оптимальный маршрут, по которому вы должны следовать. Чтобы узнать, что это за маршрут, вам нужно увидеть значение для waypoint_order .

Для вашего звонка заказ путевой точки: "waypoint_order": [3, 2, 0, 1]

Таким образом, оптимальный результат - посещение путевых точек в следующем порядке: Источник - 3 - 2 - 0 - 1 - Пункт назначения.

В вашем случае это будет: Аделаида, SA - Макларен Вейл, SA - Коннаварра, SA - Баросса, SA - Клэр, SA - Аделаида, SA

для вашего звонка: http://maps.googleapis.com/maps/api/directions/json?origin=Adelaide,SA&destination=Adelaide,SA&waypoints=optimize:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SA&sensor=false

0 голосов
/ 13 сентября 2013

Я также пытался использовать Direction Api Google в Android.Поэтому я сделал проект с открытым исходным кодом, чтобы помочь сделать это.Вы можете найти его здесь: https://github.com/MathiasSeguy-Android2EE/GDirectionsApiUtils

Как это работает, определенно просто:

public class MainActivity extends ActionBarActivity implements DCACallBack{
/**
 * Get the Google Direction between mDevice location and the touched location using the     Walk
 * @param point
 */
private void getDirections(LatLng point) {
     GDirectionsApiUtils.getDirection(this, mDeviceLatlong, point,     GDirectionsApiUtils.MODE_WALKING);
}

/*
 * The callback
 * When the direction is built from the google server and parsed, this method is called and give you the expected direction
 */
@Override
public void onDirectionLoaded(List<GDirection> directions) {        
    // Display the direction or use the DirectionsApiUtils
    for(GDirection direction:directions) {
        Log.e("MainActivity", "onDirectionLoaded : Draw GDirections Called with path " + directions);
        GDirectionsApiUtils.drawGDirection(direction, mMap);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...