map3d v0.6.0
Une ville en 3D photoréaliste rendue par map3d, avec l'éditeur de dessin ouvert par-dessus

Paris Google Photorealistic 3D Tiles 48.8584° N · 2.2945° E

React 19 · three.js ≥ 0.160 · ESM + CJS + types

Cartographie
3D temps réel
pour React

Real-time 3D cartography for React.

Un moteur Three.js impératif que React monte, puis laisse travailler. MapEngine détient la caméra, les tuiles et les couches : la boucle de rendu n'attend jamais un re-render.

npm i @pasquelin/map3d three react react-dom

Version
0.6.0
Peer deps
react 19 · three ≥ 0.160
Build
ESM + CJS + .d.ts
Licence
PolyForm Noncommercial

Démos en ligne

Essayez-la dans le navigateur

Sans installation ni clé. Les démos ci-dessous sont compilées depuis ce dépôt à chaque push et servies directement par GitHub Pages.

Capacités

Ce qui est livré

Toutes les surfaces — barre d'outils, contrôles, recherche, grille de coordonnées, clustering — sont montées dans <Map> et pilotées par la configuration. Vous n'ajoutez que les données.

À l’œuvre

Les outils, en fonctionnement

Chaque capture ci-dessous vient de la démo que vous pouvez ouvrir plus haut — aucune maquette.

Prise en main

Une carte avec clusters en une douzaine de lignes

import { Map, markersLayer, type MarkerData } from '@pasquelin/map3d'

type Alert = { title: string }

const alerts: MarkerData<Alert>[] = [
  { id: 1, type: 'critical', position: { lat: 48.8566, lng: 2.3522 }, title: 'Intrusion', data: { title: 'Intrusion' } },
  { id: 2, type: 'info', position: { lat: 48.8606, lng: 2.3376 }, title: 'Patrol', data: { title: 'Patrol' } },
]

export function App() {
  return (
    <div style={{ height: '100vh' }}>
      <Map
        center={{ lat: 48.8566, lng: 2.3522 }}
        zoom={13}
        layers={[markersLayer<Alert>({ points: alerts, cluster: { enabled: true } })]}
      />
    </div>
  )
}

Les plugins optionnels — IGN Géoplateforme, Windy, plans d'intérieur — vivent dans un dépôt séparé, et vous pouvez écrire les vôtres avec l'API plugin.