Я использую «Leaflet.js» и перемещаюсь из представления currnet в местоположение пользователя с помощью метода flyTo, закодированного следующим образом:
$('.current').on('click', function() {
var opts = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0,
};
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(cpSuccess,cpFail,opts);
} else {
alert("err[1]")
}
});
/*current position*/
function cpSuccess(position) {
const currentLat = position.coords.latitude;
const currentLng = position.coords.longitude;
map.flyTo([currentLat,currentLng],14);
}
function cpFail(err) {
console.log(err);
alert("err[2]");
}
и для отображения значка счетчика или загрузки во время перемещения просмотра пользователями с помощьюМетод flyTo закодирован как Jquery ($ .when () и $ .done ()) следующим образом, но он не работает.
/*current position*/
function cpSuccess(position) {
const currentLat = position.coords.latitude;
const currentLng = position.coords.longitude;
map.flyTo([currentLat,currentLng],14);
$.when(
$('.class').addClass('spinner'),
map.flyTo([currentLat,currentLng],14)
).done(function() {
('.class').removeClass('spinner');
});
}
function cpFail(err) {
console.log(err);
alert("err[2]");
}
Как отобразить счетчик во время просмотра пользователем, перемещающегося с помощью метода flyTo в листовке,Обратите внимание, что я не могу использовать setTimeout (), поскольку не могу предсказать, сколько времени потребуется для перемещения представления пользователей к месту назначения. А еще я нашел spin.js как плагин к leaflet.js, но ничего не сказано об использовании метода flyTo.
Мне действительно нужна чья-то помощь, спасибо.