map3d v0.6.0
مدينة ثلاثية الأبعاد واقعية رسمها map3d، وفوقها محرّر الرسم مفتوح

باريس Google Photorealistic 3D Tiles 48.8584° N · 2.2945° E

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

خرائط ثلاثية الأبعاد
في الزمن الحقيقي
لـ React

Real-time 3D cartography for React.

محرّك Three.js أمري يركّبه React ثم يتركه يعمل. يملك MapEngine الكاميرا والبلاطات والطبقات، فلا تنتظر حلقة الرسم إعادة تصيير أبدًا.

npm i @pasquelin/map3d three react react-dom

الإصدار
0.6.0
الاعتماديات النظيرة
react 19 · three ≥ 0.160
البناء
ESM + CJS + .d.ts
الرخصة
PolyForm Noncommercial

عروض حيّة

جرّبها في المتصفّح

بلا تثبيت ولا مفاتيح. تُبنى العروض أدناه من هذا المستودع مع كل دفعة، ويقدّمها GitHub Pages مباشرة.

الإمكانات

ما يأتي جاهزًا

كل واجهة — شريط الأدوات، وعناصر التحكّم، والبحث، وشبكة الإحداثيات، والتجميع — تُركَّب داخل <Map> وتقودها الإعدادات. أنت تضيف البيانات فقط.

أثناء العمل

الأدوات وهي تشتغل

كل لقطة أدناه مأخوذة من العرض الذي يمكنك فتحه أعلاه — ولا نموذج تصميمي واحد.

البداية السريعة

خريطة بتجمّعات في اثني عشر سطرًا

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>
  )
}

الإضافات الاختيارية — IGN Géoplateforme وWindy ومخطّطات الطوابق الداخلية — تعيش في مستودع منفصل، ويمكنك كتابة إضافتك بواسطة واجهة الإضافات.