Maison > Java > javaDidacticiel > Pourquoi l'API Google Directions a-t-elle cessé de fournir des données KML ?

Pourquoi l'API Google Directions a-t-elle cessé de fournir des données KML ?

Susan Sarandon
Libérer: 2024-11-25 15:30:16
original
351 Les gens l'ont consulté

Why Did Google Directions API Stop Providing KML Data?

Pourquoi l'API Google Directions ne fournit plus de données KML ?

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.

Alternatives :

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.

Implémentation du code :

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;
}
Copier après la connexion

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();
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal