我正在使用“ Leaflet.js”,并使用flyTo方法从currnet视图移动到用户的位置,编码如下:
$('.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,14);
$.when(
$('.class').addClass('spinner'),map.flyTo([currentLat,14)
).done(function() {
('.class').removeclass('spinner');
});
}
function cpFail(err) {
console.log(err);
alert("err[2]");
}
如何在传单中使用flyTo方法移动用户视图期间显示微调框。 请注意,我无法使用setTimeout(),因为无法预测将用户视图移动到所需的时间 目的地。我也发现了spin.js作为leaflet.js的插件,但没有提及 与flyTo方法一起使用。
我真的需要别人的帮助,谢谢。