Die Google Directions API stellt seit dem 27. Juli 2012 keine KML-Daten mehr bereit. Daher müssen Entwickler auf JSON oder JSON migrieren XML-Formate stattdessen.
JSON:
Um JSON-Daten zu analysieren, können Sie sechs Klassen wie folgt erstellen:
Parser.java: Definiert eine Schnittstelle für Parsing.
XMLParser.java: Stellt eine Basisklasse für XML-Parsing bereit.
Segment.java: Stellt ein Segment der Route dar.
Route .java: Stellt das Ganze dar Route.
GoogleParser.java: Analysiert Google JSON-Daten.
RouteOverlay.java: Zeichnet die Route auf einer Kartenüberlagerung.
XML:
Alternativ können Sie XML für verwenden Beim Parsen wird GoogleParser.java durch Folgendes ersetzt:
XMLParser.java: Analysiert Google XML-Daten.
Um diese Klassen zu nutzen, können Sie Folgendes erstellen 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; }
Dann fügen Sie den folgenden Code zu Ihrer onCreate()-Funktion hinzu:
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();
Das obige ist der detaillierte Inhalt vonWarum stellt die Google Directions API keine KML-Daten mehr bereit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!