Problème lors de la récupération de Google Directions à l'aide de données KML
Google a cessé de récupérer Google Directions à l'aide de données KML depuis le 27 juillet 2012. Cela signifie que le code utilisé pour extraire les directions de Google en analysant le fichier KML n'est plus fonctionnel.
Solution :
Migrez votre code pour utiliser JSON au lieu de KML. Pour faciliter cette transition, j'ai créé les classes suivantes :
Mise en œuvre :
private Route directions(final GeoPoint start, final GeoPoint dest) { Parser parser; String jsonURL = "https://developers.google.com/maps/documentation/directions/#JSON"; final 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; }
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();
Remarque : Il est recommandé d'utiliser la fonction directions() dans une AsyncTask pour éviter les opérations réseau sur le thread de l'interface utilisateur.
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!