مستندات API نویان مپ
به مستندات رسمی نویان مپ خوش آمدید. در این مستندات با نحوه استفاده از API های نقشه، مسیریابی، تبدیل آدرس به مختصات و سایر سرویسهای مکانی آشنا میشوید.
دریافت API Key
برای شروع، ابتدا از طریق پنل کاربری یک API Key بسازید و سپس اولین درخواست خود را ارسال کنید.
نحوه استفاده از API Key در درخواستها
کلید را در هر درخواست به سرور بصورت متد GET ارسال نمایید:
GET https://api.noyanmap.ir/v1/{command}/?{parameters}&apikey=your_api_key_here
هرگونه سوء استفاده از کلید API Key شما برعهده خودتان می باشد.
شروع با Leaflet
در این بخش، نحوه اضافه کردن نقشه نویان مپ به صفحه وب خود را گامبهگام یاد میگیرید.
افزودن CDN در تگ <head> وبسایت
<link rel="stylesheet" href="https://cdn.noyanmap.ir/leaflet@1.9.4/dist/leaflet.css" crossorigin="" />
<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);
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();
لایههای نقشه (Tiles)
دریافت لایههای رستری نقشه به صورت PNG مناسب برای استفاده در Leaflet، MapLibre، OpenLayers و ...
پارامترها GET
| پارامتر | نوع | اجبار | توضیح |
|---|---|---|---|
| z | integer | بله | سطح زوم (۰ تا ۱۹) |
| x | integer | بله | مختصات X کاشی |
| y | integer | بله | مختصات Y کاشی |
| style | string | بله | day | night |
| apikey | key | بله | کلید دسترسی |
نمونه درخواست
GET https://api.noyanmap.ir/v1/tiles/{z}/{x}/{y}.png?style=day&apikey=NMAP_xxxxx
تبدیل مختصات به آدرس
تبدیل مختصات جغرافیایی به آدرس متنی. مناسب برای نمایش آدرس نقطه انتخاب شده روی نقشه.
پارامترها GET
| پارامتر | نوع | اجبار | توضیح |
|---|---|---|---|
| lat | float | بله | عرض جغرافیایی |
| lon | float | بله | طول جغرافیایی |
| apikey | key | بله | کلید دسترسی |
نمونه درخواست
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
| پارامتر | نوع | اجبار | توضیح |
|---|---|---|---|
| q | text | بله | عنوان جستجو |
| apikey | key | بله | کلید دسترسی |
نمونه درخواست
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 و راهحل هر کدام.
| کد http | کد انگلیسی | کد فارسی |
|---|---|---|
| 200 | successful | نتیجه موفق |
| 201 | Bad request | پارامتر های وارد شده صحیح نمی باشد |
| 300 | missing API key | کلید دسترسی به وب سرویس وارد نشده است |
| 301 | invalid API key | کلید دسترسی به وب سرویس معتبر نمی باشد |
| 302 | API key is deactivate | کلید دسترسی به وب سرویس فعال نمی باشد |
| 303 | API key does not have permission | کلید دسترسی به این سرویس ندارد |
| 404 | Not Found | Endpoint را بررسی کنید |
| 429 | Too Many Requests | محدودیت نرخ را رعایت کنید |
| 500 | Server Error | با پشتیبانی تماس بگیرید |