Skip to content

7.0.0

Choose a tag to compare

@markuman markuman released this 18 Apr 07:25
· 18 commits to latest since this release
6ef5288

πŸš€ New Features

πŸ” Advanced POI Radius Search

  • Backend API: Added a new /v1/poi/ endpoint allowing radius-based POI searches (up to 50km) regardless of the current map zoom level.
  • Custom MVT Parser: Implemented a lightweight, zero-dependency Python MVT parser to extract POI data directly from Zoom-14 vector tiles in SQLite.
  • Extended Categories: Added curated POI filters for:
    • πŸ›’ Supermarkets & Grocery
    • πŸ’Š Pharmacies
    • πŸ₯ Hospitals & Clinics
    • β›½ Fuel Stations
    • ⚑ EV Charging Stations
    • πŸ•οΈ Mountain Huts, Shelters & Campsites (with expanded OSM tag support)
  • Optimization: Implemented a distance-sorted tile fetcher capped at 100 tiles to ensure fast response times even with large search radii.

πŸ“ POI Information Enrichment

  • Reverse Geocoding: Integrated lazy-loading of addresses via the Photon server.
  • Dynamic Popups: POI markers now display a placeholder while fetching and update to show the full address (street, house number, city, country) upon opening.

πŸ“± Mobile UI/UX Optimization

  • Toolbar Carousel: Redesigned the toolbar for mobile devices (< 640px) to prevent clutter. Tools are now organized into three navigable pages:
    1. Search: POI toggle and search input.
    2. Map: Style selection, contours, and zoom indicator.
    3. Track: GPX tools and distance measurement.
  • Intuitive Navigation: Added navigation arrows, page indicators (dots), and native touch-swipe support to switch between toolbar pages.
  • Responsive Design: Adjusted button sizes and input widths for improved usability on touch screens.

πŸ› οΈ Technical Improvements

  • Frontend: Decoupled POI searching from queryRenderedFeatures to enable "offline" discovery of features not currently rendered in the viewport.
  • Backend: Optimized database queries for POI fetching using indexed SQLite lookups and TMS coordinate transforms.