KML データを使用した Google ルートの取得に関する問題
Google は、2012 年 7 月 27 日以降、KML データを使用した Google ルートの取得を中止しました。これは、コードを意味します。 KML ファイルを解析して Google からルートを抽出するために使用されていた機能は廃止されました。 function.
解決策:
KML ではなく JSON を使用するようにコードを移行します。この移行を容易にするために、次のクラスを作成しました:
実装:
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();
注: UI スレッドでのネットワーク操作を回避するには、AsyncTask 内で Directions() 関数を使用することをお勧めします。
以上がGoogle ルート データを取得するために KML から JSON に移行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。