2011-06-26 7 views
0

J'ai utilisé l'API de direction Google et reçu des données sous la forme d'un fichier json. Mon URL est commeDirection Google API json analyse de fichiers

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

et moi optimisé: true paramètre. Comme je l'ai lu, il me donne un chemin optimal de la source à la destination à travers les points de cheminement. Et maintenant je ne connais pas la structure du fichier json exactement. Je regarde la structure du fichier json mais je ne sais pas comment je peux prendre l'ordre du chemin que me donne l'API Google.

+1

Vous n'avez marqué aucune question en réponse. Déjà. Fixez cela avec vos anciens et les gens seront plus disposés à vous aider – Eric

Répondre

0

je tente aussi d'utiliser l'API de Google dans Direction Android. J'ai donc fait un projet open source pour aider à faire ça. Vous pouvez le trouver ici: https://github.com/MathiasSeguy-Android2EE/GDirectionsApiUtils

Comment ça marche, tout simplement definitly:

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); 
    } 
} 
0

L'appel que vous avez mentionné donnera l'itinéraire optimal que vous devez suivre. Pour connaître l'itinéraire, vous devez avoir la valeur waypoint_order.

Pour votre appel, l'ordre de waypoint est: "waypoint_order": [3, 2, 0, 1]

Ainsi, le résultat optimal serait que vous devez visiter les points de passage dans l'ordre: Origine - 3 - 2 - 0 - 1 - Destination.

Dans votre cas, il serait: Adelaide, SA - McLaren Vale, SA - Connawarra, SA - Barossa Valley, SA - Clare, SA - Adelaide, SA

pour votre appel: 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