Rumah  >  Artikel  >  Java  >  Mengapa API Arah Google Berhenti Menyediakan Data KML?

Mengapa API Arah Google Berhenti Menyediakan Data KML?

Susan Sarandon
Susan Sarandonasal
2024-11-25 15:30:16303semak imbas

Why Did Google Directions API Stop Providing KML Data?

Mengapa Google Directions API tidak lagi menyediakan data KML?

Google Directions API berhenti menyediakan data KML sejak 27 Julai 2012. Oleh itu, pembangun perlu berhijrah ke JSON atau format XML sebaliknya.

Alternatif:

JSON:

Untuk menghuraikan data JSON, anda boleh mencipta enam kelas seperti berikut:

Parser.java: Mentakrifkan antara muka untuk penghuraian.
XMLParser.java: Menyediakan kelas asas untuk penghuraian XML.
Segment.java: Mewakili segmen laluan.
Laluan .java: Mewakili keseluruhan route.
GoogleParser.java: Menghuraikan data Google JSON.
RouteOverlay.java: Melukis laluan pada tindanan peta.

XML:

Sebagai alternatif, anda boleh menggunakan XML untuk menghurai, menggantikan GoogleParser.java dengan yang berikut:

XMLParser.java: Menghuraikan data XML Google.

Pelaksanaan Kod:

Untuk menggunakan kelas ini, anda boleh membuat yang berikut kod:

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;
}

Kemudian, tambahkan kod berikut pada fungsi onCreate() anda:

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();

Atas ialah kandungan terperinci Mengapa API Arah Google Berhenti Menyediakan Data KML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn