Как отобразить значок загрузки при рендеринге маркеров на MAP
В данный момент я занимаюсь разработкой приложения, в котором мне нужно приблизительно отобразить на карте огромное количество маркеров (от 30К до 50К). Сейчас при рендеринге карты требуется время для отрисовки целых точек, поэтому я хотел бы добавить значок загрузки GIF. в то время как Navteq Map отображает точки, так что пользователь будет знать, что карта отображает точки.
Я использую последнюю версию Nokia (Здесь) - версия API Карт2.5.3
, я пробовал сtransitionstart
а такжеtransistionend
события, но это не показывает мой значок GIF, но если я только обработатьtranisionstart
событие, тогда будет отображаться ICON. но если я обработаю оба события, он будет отображать значок, я подозреваю, что это из-за начального и конечного событий прикреплены сбоку.
Я попробовал это:
JavaScript:
map = new nokia.maps.map.Display(mapContainer, {
// Initial center and zoom level of the map
center: [51.410496, 5.459197],
zoomLevel: ZoomLevel,
components: [
// We add the behavior component to allow panning / zooming of the map
new nokia.maps.map.component.Behavior(),
new nokia.maps.map.component.ZoomBar(),
new nokia.maps.map.component.Overview(),
new nokia.maps.map.component.TypeSelector(),
new nokia.maps.map.component.ScaleBar(),
infoBubbles
]
});
map.addListener("transitionstart", function () {
ChangeProgressGif(true);
});
map.addListener("transitionend", function () {
ChangeProgressGif(false);
});
function ChangeProgressGif(progressFlag)
{
if (progressFlag)
document.getElementById("ProgressIcon").style.visibility = "visible";
else
document.getElementById("ProgressIcon").style.visibility = "hidden";
}
HTML:
<img src="Images\\Resources\\LoadingGIF.gif" id="ProgressIcon"/>
НОТА: Я пробовал события BaseMapChangeStart и BaseMapChangeEnd, но ни один из них не работал. любая помощь будет принята с благодарностью.
РЕДАКТИРОВАТЬ: после попытки решения @Jason требуется даже некоторое время для рендеринга точек послеCluterProvider
состояние изменено наready
.
и, как упоминалось в комментариях, я пытался с государствомClustered
как хорошо, но государствоClustered
идет доReadyState
.
Консольный вывод из хрома:
из консоли я заметил, что существует много состояний готовности и можем ли мы определить, какое из них является последним состоянием готовности, чтобы мы могли остановить / скрыть значок загрузки.
Спасибо.