✨ پرامپت آماده

آموزش نصب God's Eye View روی ویندوز؛ از صفر تا اجرای نقشه و اتصال APIها

اگه ویدیوهای یه نقشه سه‌بعدی با هواپیماها، کشتی‌ها و ظاهر شبیه اتاق کنترل فیلم‌های جاسوسی رو دیدی، احتمالاً با God's Eye View روبه‌رو شدی. این پروژه رو می‌تونی روی کامپیوتر خودت اجرا کنی و داخل مرورگر، اطلاعات مختلف دنیا رو روی یه نقشه ببینی.

توی این آموزش، نصب God's Eye View روی ویندوز رو از اول انجام می‌دیم: پیش‌نیازها رو نصب می‌کنیم، پروژه رو از GitHub می‌گیریم، برنامه رو اجرا می‌کنیم و بعد سراغ کلیدهای اختیاری می‌ریم. خطاهای نسخه Node و محدودیت PowerShell رو هم قدم‌به‌قدم حل می‌کنیم.

برای شروع، خرید API لازم نیست. اول برنامه رو با امکانات پایه بالا بیار؛ بعد هر قابلیتی رو که نیاز داشتی بهش اضافه کن.

God's Eye View چیه و چه اطلاعاتی نشون می‌ده؟

God's Eye View یه پروژه متن‌بازه که داده‌های عمومی رو روی نقشه جمع می‌کنه. می‌تونی پروازها رو دنبال کنی، موقعیت کشتی‌ها رو ببینی، ماهواره‌ها رو بررسی کنی و لایه‌های مختلف رو روشن یا خاموش کنی.

ظاهر برنامه حس یه سیستم جاسوسی رو می‌ده، ولی داده‌ها از منابع عمومی میان. تصویر پایه نقشه، ویدیوی زنده ماهواره‌ای از خیابون‌ها نیست. پوشش پروازها و کشتی‌ها هم به منبع داده بستگی داره و ممکنه ناقص یا با تأخیر باشه.

نمای حرارتی و دید در شب، افکت‌های تصویری برنامه‌ان. خودروهای روی جاده هم شبیه‌سازی می‌شن؛ حتی با اتصال TomTom، جای تک‌تک ماشین‌های واقعی رو نمی‌بینی. اطلاعات ترافیک روی سرعت و نمایش این شبیه‌سازی اثر می‌ذاره.

قبل از نصب چه چیزهایی لازم داریم؟

برای روش اصلی این مقاله، این موارد رو آماده کن: 

**

لازم نیست Docker، Python، MySQL یا VS Code نصب کنی. ویرایشگر کد فقط وقتی به کارت میاد که بخوای خود پروژه رو تغییر بدی.

برای سخت‌افزار، عدد مشخصی رو به‌عنوان حداقل قطعی در نظر نگیر. نقشه سه‌بعدی و لایه‌های زیاد فشار بیشتری به سیستم وارد می‌کنن. اگه دستگاهت ضعیف‌تره، اول با نقشه پایه و چند لایه محدود شروع کن.

مرحله اول: نصب نسخه درست Node.js

از صفحه دانلود رسمی Node.js نسخه مخصوص ویندوز رو بگیر. موقع انتخاب نسخه، این نکته مهمه: نسخه فعلی پروژه یکی از این دو شاخه رو قبول می‌کنه:

برای این آموزش، نسخه به‌روز شاخه 24 رو انتخاب کن. Node 20 یا 22 مناسب این نسخه پروژه نیست؛ Node 25 هم در بازه سازگاری اعلام‌شده پروژه قرار نداره. عبارت «24.14 یا بالاتر» به معنی پشتیبانی خودکار از تمام شاخه‌های بعدی نیست.

اگه ویندوزت روی پردازنده معمولی Intel یا AMD اجرا می‌شه، نصب‌کننده Windows x64 رو بگیر. برای دستگاه ARM، نسخه ARM64 متناسب با دستگاهت رو انتخاب کن.

نصب‌کننده رو اجرا کن و تنظیمات معمول نصب رو جلو ببر. npm همراه Node نصب می‌شه؛ قرار نیست جداگانه دنبالش بگردی.

بعد از نصب، پنجره‌های ترمینال قبلی رو ببند و یه PowerShell تازه باز کن. این دستورها رو بزن:

✨ پرامپت آماده
node -v
npm.cmd -v

دستور اول باید نسخه سازگار Node رو نشون بده. دستور دوم هم نسخه npm رو چاپ می‌کنه. اینجا عمداً از npm.cmd استفاده می‌کنیم تا محدودیت اجرای فایل npm.ps1 در PowerShell سر راه نصب قرار نگیره.

مرحله دوم: نصب Git روی ویندوز

از صفحه رسمی Git برای ویندوز نصب‌کننده رو دانلود و اجرا کن. تنظیمات پیش‌فرض برای این آموزش کافی‌ان؛ دسترسی Git از خط فرمان باید فعال باشه.

بعد از نصب، PowerShell رو دوباره باز کن و بنویس:

✨ پرامپت آماده
git --version

اگه شماره نسخه دیدی، می‌تونی بری مرحله بعد. اگه پیام git is not recognized اومد، اول یه ترمینال تازه باز کن. اگه حل نشد، تنظیم PATH در نصب Git رو بررسی کن.

مرحله سوم: دانلود پروژه God's Eye View از GitHub

یه پوشه برای پروژه‌ها بساز؛ مثلاً D:\Apps. اگه درایو D نداری، هر مسیر مناسب دیگه‌ای رو جایگزین کن. این دستورها فرض می‌کنن پوشه D:\Apps رو از قبل ساخته‌ای:

✨ پرامپت آماده
cd "D:\Apps" git clone https://github.com/bilawalsidhu/gods-eye-view.git cd gods-eye-view

با دستور git clone، کد پروژه دانلود می‌شه و داخل پوشه gods-eye-view قرار می‌گیره. دستور آخر هم تو رو وارد همون پوشه می‌کنه.

از اینجا به بعد، دستورهای نصب و اجرا رو داخل پوشه‌ای بزن که فایل package.json توش قرار داره. اگه مسیرت فاصله یا علامت خاص داره، موقع استفاده از cd مسیر رو داخل کوتیشن دوتایی بذار.

مرحله چهارم: نصب وابستگی‌های پروژه

داخل پوشه پروژه این دستور رو اجرا کن:

✨ پرامپت آماده
npm.cmd ci

این دستور بسته‌های موردنیاز رو طبق فایل قفل پروژه نصب می‌کنه. اولین بار به دانلود نیاز داره؛ تا وقتی کارش تموم نشده، پنجره رو نبند.

وجود پیام WARN به‌تنهایی به معنی شکست نصب نیست. نتیجه نهایی و خطاهای ERR رو بررسی کن. اگه درباره نسخه Node اخطار دیدی، قبل از ادامه نسخه Node رو اصلاح کن.

برای نصب معمول این پروژه از npm ci استفاده می‌کنیم. این دستور نصب تمیزی انجام می‌ده و اگه node_modules قبلی وجود داشته باشه، اون رو جایگزین می‌کنه؛ فایل‌های شخصی مثل .env رو هدف نمی‌گیره.

مرحله پنجم: بررسی آمادگی برنامه با doctor

حالا این دستور رو بزن:

✨ پرامپت آماده
npm.cmd run doctor

خروجی، وضعیت محیط اجرا و تنظیمات سرویس‌ها رو نشون می‌ده. نکته مهم اینه که «کلید تنظیم نشده» با «محیط آماده اجرا نیست» فرق داره.

اگه خطای نسخه Node دیدی، باید حلش کنی. اما اگه برای سرویس‌هایی مثل AISStream یا OpenAI علامت -- دیدی، یعنی هنوز کلید اون قابلیت رو وارد نکردی. برای اجرای امکانات پایه، لازم نیست تمام ردیف‌ها فعال باشن.

doctor نشون می‌ده تنظیمات پیدا شده‌ان؛ معتبر بودن کلید و رسیدن داده از سرویس رو باید بعداً داخل خود برنامه بررسی کنی.

مرحله ششم: اجرای برنامه در مرورگر

داخل همون پوشه اجرا کن:

✨ پرامپت آماده
npm.cmd run dev

بعد از بالا اومدن سرور، آدرسی که ترمینال نشون می‌ده رو در مرورگر باز کن. آدرس پیش‌فرض پروژه اینه:

http://localhost:4173

اگه پورت پیش‌فرض اشغال باشه، ممکنه آدرس متفاوتی در خروجی ببینی؛ همون آدرس رو باز کن. برای دیدن برنامه، فایل index.html رو مستقیم با دوبارکلیک باز نکن؛ پروژه باید از سرور محلی اجرا بشه.

در صفحه شروع، می‌تونی یکی از حالت‌های آماده یا Explore Manually رو انتخاب کنی. برای آزمایش اولیه، لایه Flights رو روشن کن و روی یکی از هواپیماها کلیک کن.

ترمینال باید هنگام استفاده باز بمونه. برای توقف برنامه Ctrl + C رو بزن. دفعه بعد فقط وارد پوشه شو و دوباره npm.cmd run dev رو اجرا کن؛ لازم نیست پروژه رو هر بار دانلود کنی.

اتصال APIها؛ کدوم کلید چه قابلیتی اضافه می‌کنه؟

همه کلیدها اختیاری‌ان. بر اساس قابلیتی که می‌خوای، سراغ سرویس مناسب برو:

برای استفاده شخصی، اول Cesium رو برای ظاهر نقشه و AISStream رو برای کشتی‌ها اضافه کن. سرویس‌های پولی یا دارای سهمیه رو قبل از استفاده از نظر هزینه و شرایط حساب بررسی کن؛ قیمت‌ها ممکنه تغییر کنن.

کلیدها رو کجای برنامه وارد کنیم؟

پایین سمت راست، روی POWER UP بزن و وارد Provider Settings شو. کلید رو در فیلد سرویس خودش قرار بده و SAVE KEYS رو بزن. برنامه تنظیمات رو ذخیره می‌کنه و دوباره راه‌اندازی می‌شه.

اگه دکمه پیدا نیست، آدرس زیر رو باز کن؛ اگه پورتت فرق داره، پورت درست رو جایگزین کن:

راه‌اندازی Cesium ion برای نقشه سه‌بعدی

برای ساخت توکن:

  1. وارد Cesium ion شو و حساب بساز.
  2. صفحه Access Tokens رو باز کن.
  3. Create Token رو بزن و یه اسم مثل Gods Eye View Local وارد کن.
  4. از بخش مجوزها، assets:read رو فعال کن. مجوز مدیریت یا نوشتن برای نمایش نقشه لازم نیست.
  5. توکن رو بساز، کپی کن و در فیلد Cesium ion داخل Provider Settings بذار.
  6. SAVE KEYS رو بزن و بعد منبع نقشه سه‌بعدی رو بررسی کن.

اگه برای توکن Allowed URLs می‌ذاری، آدرس واقعی برنامه، مثلاً http://localhost:4173، رو ثبت کن. localhost و 127.0.0.1 آدرس‌های متفاوتی محسوب می‌شن؛ محدودیت باید با آدرسی که باز کردی هماهنگ باشه.

اگه کلید پذیرفته شد ولی داده سه‌بعدی در دسترس نبود، در حساب Cesium بخش Asset Depot رو بررسی کن. در صورت نیاز، Google Photorealistic 3D Tiles و Cesium World Terrain رو به دارایی‌های حسابت اضافه کن و مطمئن شو توکن بهشون دسترسی داره.

طرح Community برای استفاده شخصی واجد شرایط، با سهمیه و شرایط مشخصه. ضمن اینکه جزئیات سه‌بعدی در همه شهرها و مناطق یکسان نیست؛ برای تست اول یه منطقه دارای پوشش رو انتخاب کن.

اتصال AISStream برای نمایش کشتی‌ها

در AISStream حساب بساز و از بخش حساب، API Key ایجاد کن. کلید رو موقع ساخت کپی کن؛ ممکنه بعداً به شکل کامل دوباره نمایش داده نشه.

داخل God's Eye View، کلید رو در فیلد AISStream بذار و ذخیره کن. بعد لایه Vessels یا Ships رو روشن کن و به یه بندر شلوغ برو.

اگه فوراً کشتی ندیدی، دریافت داده رو کمی فرصت بده. اطلاعات AIS وابسته به پوشش و فعالیت منبعه؛ خالی بودن یه قسمت از اقیانوس، به‌تنهایی نشونه خراب بودن اتصال نیست. کلید رو هم داخل کد صفحه یا فایل عمومی قرار نده؛ پروژه اتصال به سرویس رو از سمت سرور انجام می‌ده.

اتصال TomTom برای ترافیک

در پرتال توسعه‌دهندگان TomTom حساب بساز و یه کلید ایجاد کن که به Traffic Flow Vector Tiles دسترسی داشته باشه. در صفحه انتخاب محصولات، دسترسی ترافیک مرتبط با Traffic API و Traffic Flow API رو بررسی کن؛ پروژه برای این قابلیت از داده Flow استفاده می‌کنه، نه جست‌وجو یا مسیریابی TomTom.

کلید رو در فیلد TomTom داخل Provider Settings وارد کن، ذخیره کن و لایه Traffic رو روشن کن. برای دیدن نتیجه به خیابون‌های یه شهر دارای پوشش نزدیک شو.

ایران در فهرست پوشش فعلی سرویس کلاسیک Traffic Flow تام‌تام نیست. بنابراین انتظار ترافیک زنده تهران رو صرفاً با وارد کردن کلید نداشته باش. برای بررسی اتصال می‌تونی یه شهر دارای پوشش، مثل لندن، رو امتحان کنی.

اتصال NASA FIRMS و فعال‌کردن فرمان صوتی

برای لایه آتش‌سوزی، از صفحه دریافت MAP_KEY ناسا کلید بگیر و در فیلد NASA FIRMS وارد کن. بعد لایه Active Fires رو روشن کن. این داده‌ها تشخیص‌های ماهواره‌ای نقاط داغ هستن؛ قرار نیست مثل فیلم زنده آتش‌سوزی نمایش داده بشن.

برای مکالمه صوتی هم کلید OpenAI رو در فیلد خودش بذار. بعد از ذخیره، GEV MIC رو باز کن و دسترسی میکروفون رو به مرورگر بده. یه فرمان ساده مثل Take me to Tokyo رو امتحان کن. قابلیت صوتی به دسترسی و اعتبار API حساب وابسته‌ست و مصرفش هزینه داره.

روش دستی وارد کردن کلیدها در فایل .env

روش داخل برنامه راحت‌تره، ولی اگه خواستی دستی تنظیم کنی، فایل .env رو در ریشه پروژه، کنار package.json، بساز یا ویرایش کن. در PowerShell می‌تونی بنویسی:


✨ پرامپت آماده
notepad .env

فقط متغیر سرویس‌هایی رو بنویس که کلیدشون رو داری. نمونه ساختار:

✨ پرامپت آماده
CESIUM_ION_TOKEN=YOUR_CESIUM_TOKEN AISSTREAM_API_KEY=YOUR_AISSTREAM_KEY TOMTOM_API_KEY=YOUR_TOMTOM_KEY FIRMS_MAP_KEY=YOUR_FIRMS_MAP_KEY OPENAI_API_KEY=YOUR_OPENAI_KEY

عبارت‌های YOUR_... نمونه‌ان؛ باید مقدار واقعی خودت رو جایگزین کنی. ردیف‌هایی که کلید نداری رو وارد نکن و برای کلیدهای خصوصی پیشوند VITE_ نساز.

اسم فایل دقیقاً .env باشه، نه .env.txt. بعد از تغییر دستی، برنامه رو با Ctrl + C متوقف کن و دوباره اجرا کن. اگه از قبل .env داری، کل فایل رو با نمونه جایگزین نکن؛ فقط ردیف‌های موردنیاز رو ویرایش کن.

رفع خطاهای رایج نصب God's Eye View روی ویندوز

خطای Node too old

اگه نسخه قدیمی تشخیص داده شد، Node سازگار رو نصب کن، ترمینال رو ببند و دوباره باز کن. بعد بررسی کن:

✨ پرامپت آماده
node -v where.exe node

دستور دوم مسیر Node رو نشون می‌ده. اگه چند نصب متفاوت داری، ممکنه PATH هنوز نسخه قدیمی رو انتخاب کنه. مسیر فعال رو اصلاح کن تا node -v نسخه درست رو برگردونه.

خطای npm.ps1 و running scripts is disabled

اگه PowerShell اجرای npm.ps1 رو مسدود کرد، این دستور رو استفاده کن:

✨ پرامپت آماده
npm.cmd run dev

برای بقیه دستورها هم npm.cmd جای npm بذار. به تغییر سیاست امنیتی PowerShell نیاز نداری. اگه از CMD استفاده کنی هم دستور معمول npm قابل اجراست.

خطای پیدا نشدن package.json

احتمالاً دستور رو داخل پوشه اشتباه زدی. وارد ریشه پروژه شو و وجود فایل رو بررسی کن:

✨ پرامپت آماده
cd "D:\Apps\gods-eye-view" Test-Path .\package.json

اگه نتیجه True بود، دستور نصب یا اجرا رو دوباره بزن.

نصب بدون خط فرمان با Pinokio

روش دیگه، استفاده از Pinokio نسخه 8.2 یا جدیدتره. داخل بخش دریافت برنامه‌ها، مخزن https://github.com/bilawalsidhu/gods-eye-view رو پیدا یا از طریق URL وارد کن و مراحل Install و Start رو انجام بده.

Pinokio راه‌اندازی رو ساده‌تر می‌کنه، اما اتصال APIها همچنان اختیاری و جداگانه‌ست. کلیدها رو از Provider Settings داخل God's Eye View وارد کن. لازم نیست روش نصب دستی و Pinokio رو هم‌زمان انجام بدی.

سوالات رایج

برای نصب God's Eye View باید برنامه‌نویسی بلد باشم؟

برای اجرای نسخه آماده، همین دستورها کافی‌ان. تغییر کد یا اضافه‌کردن قابلیت جدید به دانش فنی بیشتری نیاز داره.

می‌شه بدون خرید API برنامه رو اجرا کرد؟

بله. اول نسخه پایه رو اجرا کن و بعد، برای قابلیت‌هایی مثل کشتی‌ها یا فرمان صوتی، سرویس مربوط رو وصل کن.

چرا برنامه من شبیه ویدیوهای سه‌بعدی نیست؟

منبع نقشه و کلیدهای تنظیم‌شده رو بررسی کن. نسخه پایه و نمای Google Photorealistic 3D ظاهر یکسانی ندارن؛ پوشش منطقه هم روی جزئیات اثر می‌ذاره.

برنامه به اینترنت نیاز داره؟

برای دانلود نقشه و دریافت اطلاعات بیرونی، بله. اجرای محلی یعنی سرور روی کامپیوترته؛ به معنی آفلاین بودن همه قابلیت‌ها نیست.

آیا با این برنامه می‌شه همه دوربین‌ها یا آدم‌ها رو ردیابی کرد؟

نه. فقط منابع عمومی پشتیبانی‌شده نمایش داده می‌شن. اسم و ظاهر «جاسوسی» برنامه به معنی دسترسی به دوربین خصوصی یا امکان ردیابی افراد نیست.

لازمه بعد از هر بار روشن کردن کامپیوتر، نصب رو تکرار کنم؟

نه. پوشه پروژه رو نگه دار و سرور رو دوباره اجرا کن. نصب وابستگی‌ها معمولاً هنگام نصب اولیه یا به‌روزرسانی لازم می‌شه.