fix object location counter

This commit is contained in:
mverch67
2025-04-23 13:34:40 +02:00
parent 65eb74fadf
commit 189ed6cba4
2 changed files with 9 additions and 1 deletions
+1
View File
@@ -100,6 +100,7 @@ class GeoPoint
// level 0 (course) .. 18 (detail)
uint8_t zoomLevel;
bool isFiltered = false;
bool isVisible = false;
};
#ifdef UNIT_TEST
+8 -1
View File
@@ -147,12 +147,14 @@ void MapPanel::drawObject(MapObject &obj, bool count)
if (count)
objectsOnMap++;
obj.draw(obj.id, tile.getX() + obj.point.xPos, tile.getY() + obj.point.yPos, MapTileSettings::getZoomLevel());
obj.point.isVisible = true;
return;
}
}
}
obj.draw(obj.id, 0, 0, 0); // hide object
}
obj.point.isVisible = false;
}
/**
@@ -446,8 +448,13 @@ void MapPanel::update(uint32_t id, bool filtered)
void MapPanel::remove(uint32_t id)
{
auto it = mapObjects.find(id);
if (it != mapObjects.end()) {
if (it->second->point.isVisible) {
objectsOnMap--;
}
}
mapObjects.erase(id);
objectsOnMap--;
}
void MapPanel::setHomeLocationImage(lv_obj_t *img)