私は2つのアクティビティ間でデータを渡しています。私はこれをしたい:ユーザーが地図上で長い間クリックすると、新しいInfoActivityウィンドウが開き、longclickが作成された緯度、経度、および都市が表示されます。Androidで長時間クリックして都市を表示する
私はすでに緯度と経度を過ぎていますが、都市部にこだわっています。
地図を長時間クリックした場所をどのように取得し、それを私のInfoActivityに渡すかを指定します。
すべてのヘルプは高く評価され:)
私は2つのアクティビティ間でデータを渡しています。私はこれをしたい:ユーザーが地図上で長い間クリックすると、新しいInfoActivityウィンドウが開き、longclickが作成された緯度、経度、および都市が表示されます。Androidで長時間クリックして都市を表示する
私はすでに緯度と経度を過ぎていますが、都市部にこだわっています。
地図を長時間クリックした場所をどのように取得し、それを私のInfoActivityに渡すかを指定します。
すべてのヘルプは高く評価され:)
を私はマップが長いマップが長いclicked.likeある街を取得するための
arg0
と
使用Geocoderクラスをクリックする都市になるだろうどのように:
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> allAddresses = geocoder.getFromLocation(
arg0.latitude, arg0.longitude, 1);
ここでは、長いクリックポイントに必要なallAddresses
の詳細をすべて取得します。
このコードブロックをonMapLongClickに入れてみましたが、 'Geocoder geocoder = new Geocoder(this、Locale.getDefault());' - ジオコーダーのジオコーダー(android.content.context、Locale)を次のようにすることはできません(匿名com.google.android.gms.maps.android maps.onmaplongclicklistener) – Kemo
@Kemo:アクティビティを使用している場合のように 'YourActivityName 'を使用する場合のように、' this 'の代わりに現在のアクティビティコンテキストを使用します。または 'Fragmentを使用している場合は、' this'の代わりに 'getActivity()'を使用してください。 –
getActivity()が機能しました。私も 'try { ' try { ArrayList
allAddresses = geocoder]という、このエラー未処理の例外java.ioexceptionを 'geocoder.getFromLocation(arg0.latitude、arg0.longitude、1);に入れました。 getFromLocation(arg0.latitude、arg0.longitude、1); } catch(IOException e){ e.printStackTrace(); } ' – Kemoあなたはいつもジオコーダを使用することができます:
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(arg0.latitude, arg0.longitude, 1);
String cityName = addresses.get(0).getAddressLine(0);
と2つのアクティビティの間で文字列を渡すために、私のInfoActivity
に渡す追加のポスト以下を参照してください。
「逆ジオコーディング」については、Googleを使用することをおすすめします。 –
@Gerald Scheniderが行います。ありがとう。 – Kemo