Я хочу показать прогресс бар во время Google карты загрузкидиалогового Прогресс на карте Google до текущего местоположения не отображаются
Прогресс бар до карты Google не будет сфокусирована на моем текущем местоположении
Я хочу Окно выполнения отображения, как на изображении ниже
код:
- фокус камеры текущего местоположения
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
Location location = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria, false));
if (location != null)
{
googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(location.getLatitude(), location.getLongitude()), 19));
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(new LatLng(location.getLatitude(), location.getLongitude())) // Sets the center of the map to location user
.zoom(19) // Sets the zoom
.bearing(90) // Sets the orientation of the camera to east
// Sets the tilt of the camera to 30 degrees
.build(); // Creates a CameraPosition from the builder
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
я думаю, и есть сеть и проверить GPS, прежде чем пытаться найти текущее местоположение .. после того, как использовать LocationManager.NetworkProvider вместо лучших критериев .. Becoz большую часть времени, критерии дают ua GPS. это не очень хороший вариант. Также у вас есть progressBar и поместите эту строку кода ** mProgressBar.setIndeterminate (true); ** и видимость для видимого перед вызовом получить местоположение в onMapReady и после того, как местоположение не является нулевым, сделать видимость GONE .. это должно помочь – DJphy
, но как показать индикатор выполнения до тех пор, пока карта не будет закодирована? – Risk
Прежде всего, не используйте свой собственный менеджер местоположений, если вы можете использовать FusedLocationApi. Этот API имеет обратные вызовы для того, когда он подключен, и из этого вы можете получить последние координаты Lat/Lng. Google mapView имеет обратные вызовы, которые уведомляют вас, когда карта готова и загружена. – TheSunny