как узнать статус выполнения загрузки mapview в Android?
-
21-09-2019 - |
Вопрос
пока карта находится в состоянии загрузки, я хочу поместить панель прогресса в центр mapview.
как добиться прогресса??и как это сделать??
приведите мне какой-нибудь пример..
Спасибо.
Решение
Я не думаю, что есть какой-то разумный способ сделать это.Обратите внимание, что Google также не делает этого в своих картографических приложениях.Это довольно ясно, просто взглянув на страницу, чтобы увидеть, загружаются ли плитки по-прежнему, поэтому я не думаю, что на самом деле есть какая-либо необходимость вводить индикатор выполнения.
В Просмотр карты имеет метод canCoverCenter()
который может сообщить вам, доступна ли центральная плитка, но для остальных плиток ничего нет.
Другие советы
Взгляните на GoogleMap.OnMapLoadedCallback- Загруженный обратный вызов
Интерфейс обратного вызова для определения того, когда карта завершит рендеринг.Это происходит после извлечения всех фрагментов, необходимых для отображения карты, и завершения всех надписей.Это событие не будет срабатывать, если на карте не загружается из-за проблем соединения, или если на карте постоянно меняется и никогда не завершает загрузку за счет пользователей, постоянно работая с картой.
Пример использования:
/**
* Acquire a non-null instance of the GoogleMap.
*/
mMapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setOnMapLoadedCallback(new OnMapLoadedCallback() {
/**
* Called when the map has finished rendering.
* This will only be called once.
* You must request another callback if you want to be notified again.
*/
@Override
public void onMapLoaded() {
//TODO: Hide ProgressBar
}
});
}
});