我已经实现了一个应用程序,可以在地图上显示当前位置。我有我所在位置的坐标。我们得到了 Places api Web 服务,但它的版本是 11.2.0,我的项目有 10.2.0 gms 服务的版本。 我该怎么做才能获得我的位置地址?
我已经实现了一个函数,但这似乎没有任何效果。
void getPlaceDetail() {
if (ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
PendingResult<PlaceLikelihoodBuffer> result = Places.PlaceDetectionApi
.getCurrentPlace(googleApiClient, null);
result.setResultCallback(new ResultCallback<PlaceLikelihoodBuffer>() {
@Override
public void onResult(PlaceLikelihoodBuffer placeLikelihoods) {
for (PlaceLikelihood placeLikelihood : placeLikelihoods) {
et.setText(placeLikelihood.getPlace().getAddress());
}
placeLikelihoods.release();
}
});
}
}
我找到了问题的答案。
void getPlaceDetail(LatLng currLatLng) {
Geocoder geocoder= new Geocoder(getActivity());
try {
if(currLatLng == null ) return;
List<Address> address= geocoder.getFromLocation(currLatLng.latitude, currLatLng.longitude, 1);
et.setText(address.get(0).getAddressLine(0) +" "+ address.get(0).getAddressLine(1));
} catch (IOException e) {
e.printStackTrace();
}
}