首頁 > Java > java教程 > 為什麼 Google Directions for Android 停止支援 KML 數據,以及如何遷移到有效的解決方案?

為什麼 Google Directions for Android 停止支援 KML 數據,以及如何遷移到有效的解決方案?

Mary-Kate Olsen
發布: 2024-11-29 14:12:10
原創
191 人瀏覽過

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

為什麼使用 KML 資料來擷取 Android 版 Google 路線不再運作?

以前,可以使用 KML 資料檢索 Google 路線,但此方法已被棄用,因為2012年7月27日。 Google Directions的結構已修改,KML資料不再支援。

解決方案和替代方案

要取得 Google 路線,您現在必須遷移到 JSON 或 XML。這裡有一組類別和程式碼片段可以幫助您:

類別

  • Parser.java:用於解析方向資料的介面。
  • XMLParser.java:處理 KML 資料的 XML 解析器(已棄用)。
  • Segment.java:表示路線的一段,包括點、說明和距離。
  • Route.java :表示完整的路線,包括路段、點、元資料。
  • GoogleParser.java:實作 Parser 介面來解析 Google JSON 路線資料。
  • RouteOverlay.java:用於繪製路線的疊加層在地圖上。

程式碼片段

使用GoogleParser 擷取路線(建議使用AsyncTask):

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();
}
登入後複製

將路線疊加到MapView:

RouteOverlay routeOverlay = new RouteOverlay(route, Color.BLUE);
mapView.getOverlays().add(routeOverlay);
mapView.invalidate();
登入後複製
將路線疊加到MapView:

透過切換到JSON 或XML 並實現這些類,您可以繼續在Android應用程式中檢索和顯示 Google 路線。

以上是為什麼 Google Directions for Android 停止支援 KML 數據,以及如何遷移到有效的解決方案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板