Rumah >Java >javaTutorial >Mengapa Arah Google untuk Android Berhenti Menyokong Data KML dan Bagaimana Saya Boleh Berhijrah ke Penyelesaian Berfungsi?

Mengapa Arah Google untuk Android Berhenti Menyokong Data KML dan Bagaimana Saya Boleh Berhijrah ke Penyelesaian Berfungsi?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-29 14:12:10113semak imbas

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

Mengapa mendapatkan semula Google Directions untuk Android menggunakan data KML tidak berfungsi lagi?

Sebelum ini, Google Directions boleh diambil menggunakan data KML, tetapi kaedah ini telah ditamatkan sebagai pada 27 Julai 2012. Struktur Arah Google telah diubah suai dan data KML tidak lagi disokong.

Penyelesaian dan Alternatif

Untuk mendapatkan Arah Google, anda kini mesti berhijrah ke JSON atau XML. Berikut ialah set kelas dan coretan kod untuk membantu anda:

Kelas

  • Parser.java: Antara muka untuk menghuraikan data arah.
  • XMLParser.java: Penghurai XML yang mengendalikan data KML (ditamatkan).
  • Segment.java: Mewakili segmen laluan, termasuk titik, arahan dan jarak.
  • Route.java : Mewakili laluan lengkap, termasuk segmen, titik dan metadata.
  • GoogleParser.java: Melaksanakan antara muka Parser untuk menghuraikan data arah Google JSON.
  • RouteOverlay.java: Tindanan untuk melukis laluan pada peta.

Kod Coretan

Menggunakan GoogleParser untuk mendapatkan semula arah (AsyncTask disyorkan):

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

Menambah tindanan laluan pada MapView:

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

Dengan menukar kepada JSON atau XML dan melaksanakan kelas ini, anda boleh terus mendapatkan dan memaparkan Arah Google dalam aplikasi Android anda.

Atas ialah kandungan terperinci Mengapa Arah Google untuk Android Berhenti Menyokong Data KML dan Bagaimana Saya Boleh Berhijrah ke Penyelesaian Berfungsi?. 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