Boutiques sur la carte : Géolocalisation, Couleurs par type & Recherche à proximité

NOUVEAU

Les boutiques des joueurs apparaissent désormais sous forme de marqueurs colorés sur la carte du monde 2D. Chaque boutique possède une position géographique et un type — vous pouvez ainsi voir d’un seul coup d’œil où se trouvent les quincailleries, les épiceries, les salles de sport et autres commerces à travers le monde.

Mieux encore : vous pouvez désormais rechercher des boutiques à proximité de votre position par rayon. Vous cherchez une salle de sport dans un rayon de 50 km ? Saisissez la distance, choisissez une catégorie, et lancez la recherche.

Types de boutiques & couleurs

Chaque propriétaire de boutique choisit un type lors de la création ou de la modification de sa boutique. Chaque type possède sa propre couleur et son icône sur la carte :

đź”§ Quincaillerie
🍎 Alimentation
🛠️ Services
💻 Numérique
đź‘• VĂŞtements
🎨 Art
đź’Ş Fitness
📚 Éducation
đź’Ľ Conseil
📍 Autre
◆ Général

Marqueurs sur la carte

Lorsque vous ouvrez la carte du monde, les boutiques ayant une position définie apparaissent sous forme de marqueurs colorés. Survolez un marqueur pour voir :

  • Le nom et le type de la boutique
  • Une brève description
  • La devise (CC ou KC)
  • Le nombre de produits

Cliquez sur un marqueur pour accéder directement à la boutique et parcourir ses produits.

Les marqueurs utilisent la même projection geoNaturalEarth1 que les formes de pays pré-rendues, ils s’alignent donc parfaitement avec la carte. Ils se redimensionnent automatiquement lorsque vous zoomez ou dézoomez.

Recherche à proximité

Dans le panneau des boutiques, vous trouverez une nouvelle barre de recherche « 📍 À proximité » :

  1. Choisissez une catégorie — par ex. Fitness, Alimentation, Quincaillerie, ou « Tous les types »
  2. Définissez le rayon — en kilomètres (par défaut : 50 km)
  3. Cliquez sur Rechercher — le système trouve toutes les boutiques de ce type dans votre rayon

La recherche utilise par défaut la position de votre pays d’origine. Si votre navigateur prend en charge la géolocalisation, vous pouvez également utiliser votre position GPS réelle pour des résultats plus précis.

Les résultats affichent le nom de chaque boutique, son type, sa devise, le nombre de produits et la distance en kilomètres. Cliquez sur un résultat pour basculer instantanément vers cette boutique.

En coulisses, la recherche utilise la formule de Haversine — le même calcul de distance orthodromique utilisé en navigation — pour calculer les distances précises entre votre position et chaque boutique géolocalisée.

Pour les propriétaires de boutiques

Si vous possédez une boutique, vous pouvez désormais définir votre position et votre type de boutique :

  1. Ouvrez Ma boutique dans le panneau des boutiques
  2. Cliquez sur votre boutique pour voir la vue détaillée
  3. Cliquez sur « 📍 Définir la position » (ou « Mettre à jour la position » si vous en avez déjà une)
  4. Cliquez sur la mini-carte pour définir la position de votre boutique
  5. Choisissez un type de boutique dans le sélecteur codé par couleur
  6. Cliquez sur Enregistrer

Votre boutique apparaîtra immédiatement sous forme de marqueur coloré sur la carte du monde, et les autres joueurs pourront vous trouver via la recherche à proximité.

Vous pouvez également définir la position et le type lors de la création de la boutique — le formulaire inclut désormais les deux champs.

Comment ça fonctionne en coulisses

🌍 Coordonnées géographiques dans la base de données
La table shop_channels stocke désormais les colonnes lat, lng et shop_type. La migration s’exécute automatiquement au démarrage du serveur — aucune modification manuelle de la base de données n’est nécessaire.

📡 Deux nouveaux points de terminaison API
GET /shop/map-pins renvoie toutes les boutiques actives avec leurs coordonnées géographiques pour le rendu de la carte. GET /shop/nearby?lat=&lng=&radius_km=&category= effectue la recherche par rayon avec un pré-filtre par rectangle englobant et un calcul précis de la distance Haversine.

🗺️ Correspondance des projections
La carte 2D utilise des tracés SVG pré-rendus à partir d’une projection geoNaturalEarth1. Les marqueurs de boutiques utilisent la même projection à l’exécution pour convertir les coordonnées lat/lng en coordonnées SVG, garantissant un alignement parfait avec les frontières des pays.

Et ensuite ?

Cette version pose les fondations du commerce géolocalisé dans ENLIGHTENMENT. Les améliorations futures incluent :

  • Regroupement de boutiques Ă  des niveaux de zoom Ă©levĂ©s (grouper les marqueurs proches)
  • Planification d’itinĂ©raire — voir comment se rendre dans une boutique physique
  • Avis et notations de boutiques
  • Boutiques en vedette sur la carte
  • Annuaires de boutiques par rĂ©gion

ENLIGHTENMENT est un jeu basé sur la blockchain d’évolution personnelle, d’exploration archétypale et de résonance collective. Rejoignez-nous sur getplasma.org.