L'API Google Directions a cessé de fournir des données KML depuis le 27 juillet 2012. Par conséquent, les développeurs doivent migrer vers JSON ou Formats XML à la place.
JSON :
Pour analyser les données JSON, vous pouvez créer six classes comme suit :
Parser.java : Définit une interface pour parsing.
XMLParser.java : Fournit une classe de base pour l'analyse XML.
Segment.java : Représente un segment de l'itinéraire.
Route .java : Représente l'intégralité route.
GoogleParser.java : Analyse les données Google JSON.
RouteOverlay.java : Dessine l'itinéraire sur une superposition de carte.
XML :
Vous pouvez également utiliser XML pour analyse, en remplaçant GoogleParser.java par ce qui suit :
XMLParser.java : Analyse les données XML de Google.
Pour utiliser ces classes, vous pouvez créer les éléments suivants code :
private Route directions(GeoPoint start, GeoPoint dest) { Parser parser; String jsonURL = "https://developers.google.com/maps/documentation/directions/#JSON"; // API URL StringBuffer sBuf = new StringBuffer(jsonURL); sBuf.append("?origin="); sBuf.append(start.getLatitudeE6()/1E6); sBuf.append(','); sBuf.append(start.getLongitudeE6()/1E6); sBuf.append("&destination="); sBuf.append(dest.getLatitudeE6()/1E6); sBuf.append(','); sBuf.append(dest.getLongitudeE6()/1E6); sBuf.append("&sensor=true&mode=driving"); parser = new GoogleParser(sBuf.toString()); Route r = parser.parse(); return r; }
Ensuite, ajoutez le code suivant à votre fonction onCreate() :
MapView mapView = (MapView) findViewById(R.id.mapview); Route route = directions(new GeoPoint((int)(26.2*1E6),(int)(50.6*1E6)), new GeoPoint((int)(26.3*1E6),(int)(50.7*1E6))); RouteOverlay routeOverlay = new RouteOverlay(route, Color.BLUE); mapView.getOverlays().add(routeOverlay); mapView.invalidate();
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!