【发布时间】:2021-05-29 12:00:18
【问题描述】:
我正在尝试使用 android studio 创建一个应用程序,我遇到了地理定位问题,特别是我正在尝试使用一个按钮来获取设备位置,但它不起作用。这是我正在使用的代码:
public void position(View view) {
if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
fusedLocationProviderClient.getLastLocation().addOnCompleteListener(new OnCompleteListener<Location>() {
public void onComplete(@NonNull Task<Location> task) {
Location location = task.getResult();
if (location != null) {
try {
Geocoder geocoder = new Geocoder(MainActivity.this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
latitudine = addresses.get(0).getLatitude();
longitudine = addresses.get(0).getLongitude();
LatLng localizzazione = (new LatLng(latitudine, longitudine));
mMap.addMarker(new MarkerOptions().position(new LatLng(latitudine, longitudine)).icon(BitmapDescriptorFactory.fromResource(R.drawable.posizionegif)));
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(localizzazione, 12));
} catch (IOException e) {
e.printStackTrace();
}
}
}
});
} else {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 44);
}
}
希望你能帮助我。谢谢:)
【问题讨论】:
-
在拨打
geocoder.getFromLocation (latitude, longitude, 1);之前,您的位置是否有(纬度、经度)? -
我不这么认为
标签: java android android-studio geolocation google-maps-android-api-2