SPB Git forge

spb/rent-ka

Public
8commits 1branches 0releases
7.4 MBsize
maindefault branch
19 days agolast push
Python 68.8% TypeScript 18.6% CSS 8.7% JavaScript 3.3% HTML 0.6%
1.8 KB

# Lou-Ka Maps — intégration Ka Maps

Auteur : Simon-Pierre Boucher — contact@spboucher.ai — Groupe Ka / Ka Maps (intégration Lou-Ka)

Lou-Ka consomme le framework partagé @groupe-ka/ka-maps (file:../../ka-maps, moteur Mapbox GL, style Standard 3D). Voir ~/Desktop/ka-maps/docs/ka-maps.md pour l'architecture du framework.

# Fichiers de l'intégration

Fichier Rôle
frontend/src/kamaps/theme.ts thème Lou-Ka Maps (encre/lime/vert ; pastilles encre-blanc, sélection lime)
frontend/src/kamaps/adapter.ts /api/listings.geojson?bbox=… → MapProperty (kind listing, type rent)
frontend/src/kamaps/config.ts jeton public Mapbox (surcharge VITE_MAPBOX_TOKEN)
frontend/src/components/MapView.tsx montage : sync liste↔carte, URL caméra, aperçu React, 3D/2D
frontend/src/pages/Home.tsx sélection/survol des cartes de liste + recherche debouncée
louka/web.py /api/listings.geojson : bbox, limit, totalGeocoded, totalMatching
louka/db.py index idx_listings_geo(lat,lng) (+ PRAGMA optimize à l'ingestion)

# Spécificités Lou-Ka

  • cluster={{ maxZoom: 15, valueClamp: [250, 8000] }} : géocodage par immeuble (les logements d'une adresse se superposent) et loyers aberrants (maisons à vendre publiées en location) bornés.
  • Compat : sans bbox, l'endpoint GeoJSON garde son ancien comportement.
  • « N hors carte » = annonces filtrées sans coordonnées ou hors zone (totalMatching) — ~40 % des annonces actives ne sont pas géocodées.
  • L'app iOS (MapKit) est hors périmètre Ka Maps : elle partage seulement les API.

# Vérifier

npm run build (typecheck+bundle) ; python run.py serve 8095 puis /?view=carte : grappes → zoom → pastilles → clic → aperçu → pan → « Rechercher dans cette zone » → filtre → compteur.