web-dev-qa-db-ja.com

AndroidのGoogle Maps APIを使用して、現在地と近くの場所を表示し、2つの場所の間をルーティングします

AndroidのGoogle Mapsを使用してアプリケーションを開発し、現在の位置を見つけて、最も近い位置を見つける必要がある

(例:私の現在地からの近くの警察署。)

現在の場所を受け入れ、出力に最も近い場所が表示されるはずです。

誰かがそれを行うための提案、リンク、チュートリアルを提供するのを手伝ってもらえますか?

50
agiles
  1. 最初にこのチュートリアルを通過して、Android Google MapsとこれについてAPI 2

  2. デバイスの現在の場所を取得するには、this answerまたはthis別の回答およびforAPI 2

  3. その後、Google Place APIを使用して場所の近くの場所を取得できます。PlaceApiの使用については、このブログ

  4. 場所ごとの近くの目印を取得した後、ソースコードを含むこのブログを使用して、API 2のバルーンオーバーレイで地図にマーカーを表示します.

  5. また、これらのリンクLink1およびLink2およびこれ グレートアンサー

これらの手順を実行すると、簡単にアプリケーションを実行できるようになります。唯一の条件は、それを読んで理解する必要があるということです。なぜなら、魔法のようにクリックするだけでは完了しないからです。

148
MKJParekh

これまでにたくさんの回答がありましたが、これらはすべてAPIとチュートリアルへの優れた指針です。追加したいことの1つは、次のようなものを使用して、マーカーが私の場所からどれだけ離れているかを調べることです。

float distance = (float) loc.distanceTo(loc2);

これが問題の詳細を改善するのに役立つことを願っています。ポイント間の距離の概算(m単位)を返します。また、遠すぎるPOIを取り除くのに役立ちます-マップを整理するのに適していますか?

13
iaindownie

Googleマップを使用できます Obtaining User Location here!

現在地(経度と緯度)を取得したら、 google place api を使用できます

このコードは、現在地を簡単に取得するのに役立ちますが、最善の方法ではありません。

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
String bestProvider = locationManager.getBestProvider(criteria, true);
Location location = locationManager.getLastKnownLocation(bestProvider);  
6
Sam

マップを表示するには2つのオプションがあります

  1. Androidのマップライブラリを使用してマップをレンダリングします
  2. Webビュー内でMaps API V3を使用する

ラット周辺のローカルPOIを表示するには、長い Places API を使用します

5
Rajdeep Dua