Abort loading when data layer is removed

This commit is contained in:
Anton Khorev 2025-01-29 15:59:49 +03:00
parent 09e802b86c
commit b00dc40ff0

View file

@ -1,6 +1,6 @@
OSM.initializeDataLayer = function (map) { OSM.initializeDataLayer = function (map) {
var loadedBounds; let dataLoader, loadedBounds;
var dataLayer = map.dataLayer; const dataLayer = map.dataLayer;
dataLayer.setStyle({ dataLayer.setStyle({
way: { way: {
@ -32,6 +32,8 @@ OSM.initializeDataLayer = function (map) {
}); });
dataLayer.on("remove", function () { dataLayer.on("remove", function () {
if (dataLoader) dataLoader.abort();
dataLoader = null;
map.off("moveend", updateData); map.off("moveend", updateData);
$("#browse_status").empty(); $("#browse_status").empty();
map.fire("overlayremove", { layer: this }); map.fire("overlayremove", { layer: this });
@ -77,8 +79,6 @@ OSM.initializeDataLayer = function (map) {
.text(I18n.t("browse.start_rjs.feature_error", { message: message })))))); .text(I18n.t("browse.start_rjs.feature_error", { message: message }))))));
} }
var dataLoader;
function getData() { function getData() {
var bounds = map.getBounds(); var bounds = map.getBounds();
var url = "/api/" + OSM.API_VERSION + "/map?bbox=" + bounds.toBBoxString(); var url = "/api/" + OSM.API_VERSION + "/map?bbox=" + bounds.toBBoxString();