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
402 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!

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