gpt4 book ai didi

android - 如何在 getMyLocationAddress 方法中的 onLocationChanged 中访问我的当前位置?

转载 作者:行者123 更新时间:2023-11-30 00:38:17 25 4
gpt4 key购买 nike

我想在 getMyLocationAddress 的 onLocationChanged 方法中访问我的当前位置,以设置文本框的文本。我想知道我的位置准确存储在哪个变量中,以便我可以在 geocoder.getLocationFrom() 中使用它。

我在 geocoder.getFromLocation(latLng.getLatitude(),latLng.getLongitude(),1) 中使用 LatLng 对象 latLng;我猜这就是当前位置的存储位置。但是 getFromLocation 需要 Location 对象。我应该使用哪个 Location 对象,因为 LatLng 对象显然会出错?

@Override
public void onLocationChanged(Location location) {

mLastLocation = location;
if (mCurrLocationMarker != null) {
mCurrLocationMarker.remove();
}

//Place current location marker
LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
markerOptions.title("Current Position");
markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE));
mCurrLocationMarker = mMap.addMarker(markerOptions);

//move map camera
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
mMap.animateCamera(CameraUpdateFactory.zoomTo(50));

//stop location updates
if (mGoogleApiClient != null) {
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
}

}


public void getMyLocationAddress() {

Geocoder geocoder= new Geocoder(this, Locale.ENGLISH);

try {

//Place your latitude and longitude
//List<Address> addresses = geocoder.getFromLocation(37.423247,-122.085469, 1);
List<Address> addresses = geocoder.getFromLocation(latLng.getLatitude(),latLng.getLongitude(),1);

if(addresses != null) {

Address fetchedAddress = addresses.get(0);
StringBuilder strAddress = new StringBuilder();

for(int i=0; i<fetchedAddress.getMaxAddressLineIndex(); i++) {
strAddress.append(fetchedAddress.getAddressLine(i)).append("\n");
}

etOrigin.setText(strAddress.toString());

}

else
etOrigin.setText("No location found..!");

}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(getApplicationContext(),"Could not get address..!", Toast.LENGTH_LONG).show();
}
}

最佳答案

您需要使用 Location 类型的变量。

您可以在这里阅读更多内容: https://developer.android.com/reference/android/location/Location.html

关于android - 如何在 getMyLocationAddress 方法中的 onLocationChanged 中访问我的当前位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43038538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com