Masalah Mendapatkan Arah Google Menggunakan Data KML
Google telah menghentikan pengambilan Google Directions menggunakan data KML sejak 27 Julai 2012. Ini bermakna kod digunakan untuk mengekstrak arah daripada Google dengan menghuraikan fail KML tidak lagi berfungsi.
Penyelesaian:
Pindahkan kod anda untuk menggunakan JSON dan bukannya KML. Untuk memudahkan peralihan ini, saya mencipta kelas berikut:
Pelaksanaan:
private Route directions(final GeoPoint start, final GeoPoint dest) { Parser parser; String jsonURL = "https://developers.google.com/maps/documentation/directions/#JSON"; final 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; }
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();
Nota: Adalah disyorkan untuk menggunakan fungsi directions() dalam AsyncTask untuk mengelakkan operasi rangkaian pada urutan UI.
Atas ialah kandungan terperinci Bagaimana untuk Berhijrah daripada KML ke JSON untuk Mendapatkan Data Arah Google?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!