Heim >Java >javaLernprogramm >Warum unterstützt Google Directions für Android keine KML-Daten mehr und wie kann ich zu einer funktionierenden Lösung migrieren?

Warum unterstützt Google Directions für Android keine KML-Daten mehr und wie kann ich zu einer funktionierenden Lösung migrieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-29 14:12:10115Durchsuche

Why Did Google Directions for Android Stop Supporting KML Data, and How Can I Migrate to a Working Solution?

Warum funktioniert das Abrufen von Google Directions für Android mithilfe von KML-Daten nicht mehr?

Früher konnte Google Directions mithilfe von KML-Daten abgerufen werden, diese Methode ist jedoch veraltet vom 27. Juli 2012. Die Struktur von Google Directions wurde geändert und KML-Daten sind nicht mehr verfügbar unterstützt.

Lösung und Alternativen

Um Google Directions zu erhalten, müssen Sie jetzt auf JSON oder XML migrieren. Hier ist eine Reihe von Klassen und Codeausschnitten, die Ihnen helfen sollen:

Klassen

  • Parser.java: Schnittstelle zum Parsen von Wegbeschreibungsdaten.
  • XMLParser.java: XML-Parser, der KML-Daten verarbeitet (veraltet).
  • Segment.java: Stellt einen Abschnitt der Route dar, einschließlich Punkten, Anweisungen und Entfernung.
  • Route.java : Stellt die vollständige Route dar, einschließlich Segmenten, Punkten usw Metadaten.
  • GoogleParser.java: Implementiert die Parser-Schnittstelle zum Parsen von Google JSON-Wegbeschreibungsdaten.
  • RouteOverlay.java: Overlay zum Zeichnen der Route auf einer Karte.

Code Snippets

Verwendung von GoogleParser zum Abrufen von Wegbeschreibungen (AsyncTask empfohlen):

private Route directions(GeoPoint start, GeoPoint dest) {
    String jsonURL = "https://maps.googleapis.com/maps/api/directions/json?";
    jsonURL += "origin=" + start.getLatitudeE6() / 1E6 + "," + start.getLongitudeE6() / 1E6;
    jsonURL += "&destination=" + dest.getLatitudeE6() / 1E6 + "," + dest.getLongitudeE6() / 1E6;
    jsonURL += "&sensor=true&mode=driving";
    Parser parser = new GoogleParser(jsonURL);
    return parser.parse();
}

Hinzufügen der Routenüberlagerung zu einer Kartenansicht:

RouteOverlay routeOverlay = new RouteOverlay(route, Color.BLUE);
mapView.getOverlays().add(routeOverlay);
mapView.invalidate();

Durch Umstellung auf JSON oder XML und Wenn Sie diese Klassen implementieren, können Sie weiterhin Google Directions in Ihrer Android-Anwendung abrufen und anzeigen.

Das obige ist der detaillierte Inhalt vonWarum unterstützt Google Directions für Android keine KML-Daten mehr und wie kann ich zu einer funktionierenden Lösung migrieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn