Shops auf der Karte: Geo-Standorte, Typ-Farben & Umkreissuche

NEU

Spieler-Shops erscheinen nun als farbige Pins auf der 2D-Weltkarte. Jeder Shop hat einen geografischen Standort und einen Typ — so siehst du auf einen Blick, wo sich Hardware-Läden, Lebensmittelgeschäfte, Fitnessstudios und andere Unternehmen auf der ganzen Welt befinden.

Noch besser: Du kannst jetzt nach Shops in deiner Nähe suchen — nach Radius. Du suchst ein Fitnessstudio innerhalb von 50 km? Gib einfach die Entfernung ein, wähle eine Kategorie und starte die Suche.

Shop-Typen & Farben

Jeder Shop-Besitzer wählt beim Erstellen oder Bearbeiten seines Shops einen Typ. Jeder Typ hat eine eigene Farbe und ein eigenes Symbol auf der Karte:

🔧 Hardware
🍎 Lebensmittel
🛠️ Dienstleistungen
💻 Digital
👕 Kleidung
🎨 Kunst
💪 Fitness
📚 Bildung
💼 Beratung
📍 Sonstiges
◆ Allgemein

Karten-Pins

Wenn du die Weltkarte öffnest, erscheinen Shops mit gesetztem Standort als farbige Pins. Fahre mit der Maus über einen Pin, um Folgendes zu sehen:

  • Shop-Name und Typ
  • Kurzbeschreibung
  • Währung (CC oder KC)
  • Anzahl der Produkte

Klicke auf einen Pin, um direkt zu diesem Shop zu springen und seine Produkte zu durchstöbern.

Die Pins verwenden dieselbe geoNaturalEarth1-Projektion wie die vorgerenderten Länderformen, sodass sie perfekt mit der Karte ausgerichtet sind. Sie skalieren automatisch, wenn du hinein- oder herauszoomst.

Umkreissuche

Im Shop-Overlay findest du eine neue „📍 In meiner Nähe”-Suchleiste:

  1. Wähle eine Kategorie — z. B. Fitness, Lebensmittel, Hardware oder „Alle Typen”
  2. Setze den Radius — in Kilometern (Standard: 50 km)
  3. Klicke auf Suchen — das System findet alle Shops dieses Typs innerhalb deines Radius

Die Suche verwendet standardmäßig den Standort deines Heimatlandes. Wenn dein Browser Geolokalisierung unterstützt, kannst du auch deine echte GPS-Position für präzisere Ergebnisse nutzen.

Die Ergebnisse zeigen für jeden Shop den Namen, Typ, die Währung, die Produktanzahl und die Entfernung in Kilometern. Klicke auf ein Ergebnis, um sofort zu diesem Shop zu wechseln.

Hinter den Kulissen verwendet die Suche die Haversine-Formel — dieselbe Großkreis-Entfernungsberechnung, die auch in der Navigation verwendet wird — um präzise Entfernungen zwischen deinem Standort und jedem geo-locierten Shop zu berechnen.

Für Shop-Besitzer

Wenn du einen Shop besitzt, kannst du jetzt deinen Standort und deinen Shop-Typ festlegen:

  1. Öffne Mein Shop im Shop-Overlay
  2. Klicke auf deinen Shop, um die Detailansicht zu sehen
  3. Klicke auf „📍 Standort festlegen” (oder „Standort aktualisieren”, falls du bereits einen hast)
  4. Klicke auf die Mini-Karte, um die Position deines Shops zu setzen
  5. Wähle einen Shop-Typ aus dem Farbwähler
  6. Klicke auf Speichern

Dein Shop erscheint sofort als farbiger Pin auf der Weltkarte, und andere Spieler können dich über die Umkreissuche finden.

Du kannst Standort und Typ auch schon bei der Shop-Erstellung festlegen — das Formular enthält jetzt beide Felder.

Wie es unter der Haube funktioniert

🌍 Geo-Koordinaten in der Datenbank
Die Tabelle shop_channels speichert jetzt die Spalten lat, lng und shop_type. Die Migration wird beim Serverstart automatisch ausgeführt — keine manuellen Datenbankänderungen erforderlich.

📡 Zwei neue API-Endpunkte
GET /shop/map-pins gibt alle aktiven Shops mit Geo-Koordinaten für das Karten-Rendering zurück. GET /shop/nearby?lat=&lng=&radius_km=&category= führt die Radius-Suche mit einem Bounding-Box-Vorfilter und präziser Haversine-Entfernungsberechnung durch.

🗺️ Projektions-Abgleich
Die 2D-Karte verwendet vorgerenderte SVG-Pfade aus einer geoNaturalEarth1-Projektion. Shop-Pins nutzen dieselbe Projektion zur Laufzeit, um Lat/Lng in SVG-Koordinaten umzuwandeln und so eine perfekte Ausrichtung mit den Ländergrenzen zu gewährleisten.

Was kommt als Nächstes

Dieses Release legt den Grundstein für geo-bewussten Handel in ENLIGHTENMENT. Zukünftige Verbesserungen umfassen:

  • Shop-Cluster bei hohen Zoom-Stufen (nahegelegene Pins gruppieren)
  • Routenplanung — sieh, wie du zu einem physischen Shop gelangst
  • Shop-Bewertungen & -Rezensionen
  • Empfohlene Shops auf der Karte
  • Regionsbasierte Shop-Verzeichnisse

ENLIGHTENMENT ist ein blockchain-basiertes Spiel über persönliches Wachstum, archetypische Erkundung und kollektive Resonanz. Besuche uns auf getplasma.org.