نویان مپ مستندات
شروع

مستندات API نویان مپ

به مستندات رسمی Noyan Map خوش آمدید. در این مستندات با نحوه استفاده از API های نقشه، مسیریابی، تبدیل آدرس به مختصات و سایر سرویس‌های مکانی آشنا می‌شوید.

دریافت API Key

برای شروع، ابتدا از طریق پنل کاربری یک API Key بسازید و سپس اولین درخواست خود را ارسال کنید.

۱
ورود به پنل توسعه‌دهندگان
با شماره همراه خود وارد پنل شوید.
ورود به پنل
۲
رفتن به بخش کلیدهای API
از منوی کناری، گزینه «کلیدهای API» را انتخاب کنید.
۳
ساخت کلید جدید
روی «کلید جدید» کلیک کنید، یک نام معنادار بنویسید و کلید را کپی کنید.
رفتن به کلیدهای API

استفاده از API Key در درخواست‌ها

کلید را در هدر Authorization قرار دهید:


GET https://api.noyanmap.ir/v1/{command}/?{parameters}&apikey=your_api_key_here
⚠️ هشدار امنیتی
هرگز API Key خود را در کد سمت کاربر (Frontend) قرار ندهید. برای پروژه‌های واقعی از یک سرور پروکسی (Backend Proxy) استفاده کنید.
آموزش

شروع سریع با Leaflet

در این بخش، نحوه اضافه کردن نقشه نویان مپ به صفحه وب خود را گام‌به‌گام یاد می‌گیرید.

۱

افزودن CDN در تگ <head>

<!-- استایل Leaflet -->
<link rel="stylesheet" href="https://cdn.noyanmap.ir/leaflet@1.9.4/dist/leaflet.css" crossorigin="" />

<!-- اسکریپت Leaflet -->
<script src="https://cdn.noyanmap.ir/leaflet@1.9.4/dist/leaflet.js" crossorigin=""></script>
۲

افزودن Container نقشه

<!-- در هر جایی از body -->
<div id="map" style="width: 100%; height: 500px; border-radius: 12px;"></div>
۳

راه‌اندازی نقشه با JavaScript

// ۱. ساخت نقشه با مرکز تهران
const map = L.map('map').setView([35.6892, 51.3890], 13);

// ۲. اضافه کردن لایه کاشی‌ها از Noyan Map
L.tileLayer('https://api.noyanmap.ir/v1/tiles/{z}/{x}/{y}.png', {
  attribution: '© Noyan Map',
  maxZoom: 19
}).addTo(map);

// ۳. اضافه کردن یک مارکر
L.marker([35.6892, 51.3890]).addTo(map).bindPopup('اینجا تهران است!').openPopup();

مرجع API ها

لیست کامل سرویس‌های مکانی نویان مپ

لایه‌های نقشه

دریافت لایه‌های رستری نقشه به صورت PNG مناسب برای استفاده در Leaflet، MapLibre، OpenLayers و ...

پارامترها GET

پارامتر نوع اجبار توضیح
zintegerبلهسطح زوم (۰ تا ۱۹)
xintegerبلهمختصات X کاشی
yintegerبلهمختصات Y کاشی
stylestringبلهday | night
apikeykeyبلهکلید دسترسی

نمونه درخواست

GET https://api.noyanmap.ir/v1/tiles/{z}/{x}/{y}.png?style=day&apikey=NMAP_xxxxx

تبدیل مختصات به آدرس

تبدیل مختصات جغرافیایی به آدرس متنی. مناسب برای نمایش آدرس نقطه انتخاب شده روی نقشه.

پارامترها GET

پارامتر نوع اجبار توضیح
latfloatبلهعرض جغرافیایی
lonfloatبلهطول جغرافیایی
apikeykeyبلهکلید دسترسی

نمونه درخواست

GET https://api.noyanmap.ir/v1/reverse?lat=35.7165426&lon=51.2814613&apikey=NMAP_xxxxx

نمونه پاسخ

{
    lat: "35.7165426",
    lon: "51.2814613",
    class: "railway",
    type: "station",
    addresstype: "railway",
    name: "ورزشگاه آزادی",
    display_name: "ورزشگاه آزادی, بزرگراه حجازی, ورزشگاه آزادی, ناحیه ۲, منطقه ۲۲ شهر تهران, تهران, بخش مرکزی تهران, شهرستان تهران, استان تهران, 13988-38511, ایران",
    address: {
        railway: "ورزشگاه آزادی",
        road: "بزرگراه حجازی",
        neighbourhood: "ورزشگاه آزادی",
        quarter: "ناحیه ۲",
        suburb: "منطقه ۲۲ شهر تهران",
        city: "تهران",
        municipality: "بخش مرکزی تهران",
        county: "شهرستان تهران",
        state: "استان تهران",
        country: "ایران",
        country_code: "ir"
    },
    status: true,
    datetime: 1789385148,
    datetime_miladi: "2026-09-14 14:55:48",
    datetime_shamsi: "1405/06/23 14:55:48"
}

تبدیل آدرس به مختصات

تبدیل آدرس متنی به مختصات جغرافیایی. پشتیبانی از زبان فارسی و Autocomplete.

پارامترها GET

پارامتر نوع اجبار توضیح
qtextبلهعنوان جستجو
apikeykeyبلهکلید دسترسی

نمونه درخواست

GET https://api.noyanmap.ir/v1/geocode?q=میدان آزادی&apikey=NMAP_xxxxx

نمونه پاسخ

{
    0: {
        lat: "35.6997056",
        lon: "51.3375039",
        class: "place",
        type: "square",
        addresstype: "square",
        name: "میدان آزادی",
        display_name: "میدان آزادی, استاد معین, ناحیه ۱, منطقه ۹ شهر تهران, تهران, بخش مرکزی تهران, شهرستان تهران, استان تهران, ایران",
        address: {
            square: "میدان آزادی",
            neighbourhood: "استاد معین",
            quarter: "ناحیه ۱",
            suburb: "منطقه ۹ شهر تهران",
            city: "تهران",
            municipality: "بخش مرکزی تهران",
            county: "شهرستان تهران",
            state: "استان تهران",
            country: "ایران",
            country_code: "ir"
        }
    },...
    status: true,
    datetime: 1789386341,
    datetime_miladi: "2026-09-14 15:15:40",
    datetime_shamsi: "1405/06/23 15:15:40"
}

کدهای خطا

لیست کدهای وضعیت HTTP و راه‌حل هر کدام.

کد توضیح راه‌حل
200successful response
201Bad requestپارامتر های وارد شده صحیح نمی باشد
300missing API keyکلید دسترسی به وب سرویس وارد نشده است
301invalid API keyکلید دسترسی به وب سرویس معتبر نمی باشد
302API key is deactivateکلید دسترسی به وب سرویس فعال نمی باشد
303API key does not have permissionکلید دسترسی به این سرویس ندارد
404Not FoundEndpoint را بررسی کنید
429Too Many Requestsمحدودیت نرخ را رعایت کنید
500Server Errorبا پشتیبانی تماس بگیرید