現在の場所の住所を受け取ることができるAPIがあるかどうかを知る必要があります。ロケーションマネージャーを使用して、現在の場所の緯度と経度を受け取りましたが、住所が必要です。
以下のAPIを試しました。
http://maps.googleapis.com/maps/api/geocode/json?latlng="+ lat + "," + lon + &sensor=true"
しかし、それは正確な場所を示していません.誰かが私を助けてくれますか.@Thanks
現在の場所の住所を受け取ることができるAPIがあるかどうかを知る必要があります。ロケーションマネージャーを使用して、現在の場所の緯度と経度を受け取りましたが、住所が必要です。
以下のAPIを試しました。
http://maps.googleapis.com/maps/api/geocode/json?latlng="+ lat + "," + lon + &sensor=true"
しかし、それは正確な場所を示していません.誰かが私を助けてくれますか.@Thanks
String longti = "0";
String lati = "0";
LocationManager locationManager;
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
1000, 1, new MyLocationListners());
final Location location = locationManager
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
//these are your longtitude and latitude
lati = String.valueOf(location.getLatitude());
longti = String.valueOf(location.getLongitude());
//here we are getting the address using the geo codes(longtitude and latitude).
String ad = getAddress(location.getLatitude(),location.getLongitude());
private String getAddress(double LATITUDE, double LONGITUDE) {
String strAdd = "";
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
try {
List<Address> addresses = geocoder.getFromLocation(LATITUDE,
LONGITUDE, 1);
if (addresses != null) {
Address returnedAddress = addresses.get(0);
StringBuilder strReturnedAddress = new StringBuilder("");
for (int i = 0; i < returnedAddress.getMaxAddressLineIndex(); i++) {
strReturnedAddress
.append(returnedAddress.getAddressLine(i)).append(
"\n");
}
strAdd = strReturnedAddress.toString();
Log.w("My Current loction address",
"" + strReturnedAddress.toString());
} else {
Log.w("My Current loction address", "No Address returned!");
}
} catch (Exception e) {
e.printStackTrace();
Log.w("My Current loction address", "Canont get Address!");
}
return strAdd;
}
public class MyLocationListners implements LocationListener {
@Override
public void onLocationChanged(Location location) {
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
//GPS とインターネットがオンになっていることを確認してください //また、コードを最初に実行したときに場所が表示されない場合もあります //Google サービスの問題により、電話を再起動する必要があります //これが役立つことを願っています