ホームページ >Java >&#&チュートリアル >Android 用 Google Directions が KML データのサポートを停止したのはなぜですか? 有効なソリューションに移行するにはどうすればよいですか?

Android 用 Google Directions が KML データのサポートを停止したのはなぜですか? 有効なソリューションに移行するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-29 14:12:10111ブラウズ

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

KML データを使用した Android 向け Google ルートの取得が機能しなくなったのはなぜですか?

以前は、KML データを使用して Google ルートを取得できましたが、この方法は非推奨になりました。 Google Directions の構造が変更され、KML データは廃止されました。

解決策と代替案

Google ルートを取得するには、JSON または XML に移行する必要があります。以下に、役立つクラスとコード スニペットのセットを示します。

クラス

  • Parser.java: ルート データを解析するためのインターフェイス。
  • XMLParser.java: KML データを処理する XML パーサー(非推奨)。
  • Segment.java: ポイント、指示、距離を含むルートのセグメントを表します。
  • Route.java : セグメント、ポイント、およびルートを含む完全なルートを表します。 metadata.
  • GoogleParser.java: 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();

JSON または XML に切り替えることにより、これらのクラスを実装すると、引き続き Android アプリケーションで Google ルートを取得して表示できます。

以上がAndroid 用 Google Directions が KML データのサポートを停止したのはなぜですか? 有効なソリューションに移行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。