自分のアプリからgoogle mapのルート検索を利用する

地図アプリを作成していて、現在地から目的地までのルート検索機能がほしいなーって思っていたら、すごく簡単にできることがわかった。

String url = "http://maps.google.com/maps?dirflg=w";
url += "&saddr=" + currentLat + "," + currentLot + "(現在地)";
url += "&daddr=" + targetLat + "," + targetLot + "(目的地)";

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setClassName("com.google.android.apps.maps","com.google.android.maps.MapsActivity");
intent.setData(Uri.parse(url));
startActivity(intent);

経路のタイプは「dirflg」で制御。何も指定していないと電車での経路になる。
「dirflg=d」車
「dirflg=t」電車
「dirflg=w」徒歩

※ちなみに上記の例だと現在地と出発地にそれぞれラベルをつけているが、ネイティブアプリからアクセスした場合はこれが機能しないので注意