API Sənədləri
Azərbaycanın yer datası — 66 rayon, 4248 kənd, 17283 küçə, 114903 obyekt — koordinatları ilə. Bütün cavablar JSON, UTF-8.
Giriş
Baza URL:
https://azerbaijanmap.ubermensch.cc/api/v1
API iki data səviyyəsi təqdim edir:
- Baza (
/search,/suggest,/resolve,/reverse,/address,/nearby,/details) — inzibati bölgü: şəhər, rayon, qəsəbə, kənd, küçə, Bakı metrosu. - Tam (
/full/…) — baza + 114903 obyekt: məktəb, universitet, xəstəxana, aptek, mağaza, restoran, bank və s.
Axtarış səhv yazılışa dözümlüdür: diakritiksiz (Sabuncu → Sabunçu), hal şəkilçili (Bakının), yazı səhvli (abtek → Aptek), qısaltmalar (bdu → Bakı Dövlət Universiteti) və təbii dil ("Bakının Sabunçu rayonunun Bilgəh qəsəbəsi") işləyir.
Autentifikasiya
Hər sorğu API açarı tələb edir. İki üsulla ötürülür:
# 1) Başlıq (tövsiyə olunur — loglara düşmür) curl -H "X-API-Key: AÇARINIZ" "https://azerbaijanmap.ubermensch.cc/api/v1/search?q=sabuncu" # 2) Query parametri curl "https://azerbaijanmap.ubermensch.cc/api/v1/search?q=sabuncu&key=AÇARINIZ"
| Açar növü | Harada işləyir | Qeyd |
|---|---|---|
| API | /api/v1/* | Proqram inteqrasiyası üçün; limitsiz (rate-limit daxilində) |
| Embed | yalnız /api/v1/embed/* | Domenə bağlıdır — yalnız qeydiyyatlı saytdan işləyir; API endpointlərində keçmir |
| Test (trial) | /search, /reverse | 2 sorğuluq, ana səhifədən alınır; /details və /full/* bağlıdır |
Sürət limitləri
| Sahə | Limit |
|---|---|
| API açarı (hər açar) | 300 sorğu / dəqiqə |
| Embed açarı (hər açar) | 600 sorğu / dəqiqə |
Limit aşılanda 429 qayıdır — bir az gözləyib təkrar edin.
GET /search — adla axtarış
/api/v1/search| Parametr | Tip | Təsvir |
|---|---|---|
q | string, vacib | Axtarış mətni (maks 120 simvol) |
limit | int, 1–50 | Nəticə sayı (default 8) |
tip | string | Vergüllə filtr: kənd,qəsəbə,küçə,metro,rayon,şəhər |
# nümunə curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/search?q=mehemedi&limit=2" { "query": "mehemedi", "count": 2, "ms": 21.4, "results": [{ "ad": "Məhəmmədi", "tip": "qəsəbə", "yol": "Bakı › Sabunçu › Məhəmmədi", "lat": 40.53472, "lon": 49.95275, "uyğunluq": 0.91 }, …] }
POST /geocode-batch — toplu geokodlaşdırma
/api/v1/geocode-batchAd / ünvan siyahısını bir sorğuda koordinatlara çevir — biznes CSV-ləri, kütləvi geokodlaşdırma üçün (maks 100 sorğu). Hər element üçün ən yaxşı koordinatlı, etibarlı uyğunluq qaytarılır.
| Sahə (JSON) | Tip | Təsvir |
|---|---|---|
queries | string[], vacib | Ad/ünvan siyahısı (maks 100) |
full | bool | Obyektləri (POI) də axtar — default true |
min_score | float 0–1 | Etibar həddi (default 0.55) — aşağısı «tapılmadı» |
# nümunə curl -X POST -H "X-API-Key: AÇAR" -H "Content-Type: application/json" \ -d '{"queries":["Fəvvarələr meydanı","Gəncə","28 May metro"]}' \ "https://azerbaijanmap.ubermensch.cc/api/v1/geocode-batch" { "say": 3, "tapıldı": 3, "ms": 41.2, "nəticələr": [{ "sorğu": "Fəvvarələr meydanı", "tapıldı": true, "ad": "Fəvvarələr Meydanı", "lat": 40.371, "lon": 49.837, "uyğunluq": 1.0 }, …] }
Xəritə xidmətləri və canlı data
Widget-də (nümunələrdə) olan bütün funksiyalar həm də birbaşa API kimi — açarla, domenə bağlı olmadan (server-server də işləyir). Marşrut, izoxron, hava keyfiyyəti, zəlzələ, külək, təyyarə, görməli yerlər, metro.
| Endpoint | Parametrlər | Nə qaytarır |
|---|---|---|
GET /route | f,t=«lat,lon»; profile=car|bike|foot | A→B marşrut: məsafə, vaxt, xətt, turn-by-turn addımlar |
GET /izoxron | point=«lat,lon»; minutes=5,10,15; profile | Əlçatanlıq halqaları (GeoJSON poliqon) |
GET /hava | — | Hava keyfiyyəti grid-i: AQI, PM2.5/PM10/NO2/O3 (Open-Meteo) |
GET /seysmik | window=gun|hefte|ay; minmag | Qafqazda son zəlzələlər (EMSC/USGS, canlı) |
GET /kulek | — | Külək sahəsi u/v (leaflet-velocity formatı) |
GET /teyyare | — | Region üzərində canlı təyyarələr (OpenSky ADS-B) |
GET /landmarks | bbox=«la1,lo1,la2,lo2»; limit | Şəkilli görməli yerlər (foto+təsvir az/ru/en) |
GET /metro | — | Bakı metrosu: xətlər, rəng, sıralı stansiyalar, polyline |
# marşrut (turn-by-turn) curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/route?f=40.38,49.85&t=40.41,49.87&profile=car" # → { "m":3540, "s":612, "pts":[[40.38,49.85],…], "addimlar":[…] } # hava keyfiyyəti curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/hava" # → { "points":[{"lat":40.4,"lon":49.9,"aqi":42,"pm25":8.1,…}], "menbe":"Open-Meteo" }
Avtobus — marşrutlar və dayanacaqlar (AYNA)
Azərbaycan ictimai nəqliyyatı — 208 marşrut (BakuBus və s.). Üç endpoint: ünvandan/nöqtədən keçən avtobuslar, bir marşrutun dayanacaqları, tam siyahı.
/api/v1/bus/nearbyVerilən ünvandan/nöqtədən keçən avtobuslar + yaxın dayanacaqlar. Ünvan verilsə geokodlaşdırılır, ya da birbaşa koordinat.
| Parametr | Tip | Təsvir |
|---|---|---|
unvan | string | Ünvan / yer adı — ya bunu ver (geokodlaşır) |
lat, lon | float | ya da birbaşa koordinat |
radius | int, 50–2000 | Metrlə radius (default 500) |
curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/bus/nearby?unvan=28 May metrosu" { "lat": 40.3794, "lon": 49.8501, "radius_m": 500, "xett_sayi": 24, "xetler": ["1","2","4", …, "H1"], "dayanacaq_sayi": 15, "dayanacaqlar": [{ "ad":"28 May m/st", "lat":40.3796, "lon":49.8502, "mesafe_m":20, "xetler":["10","120E"] }, …] }
/api/v1/bus/routeBir marşrutun sıralı DAYANACAQLARI + tarif, müddət, uzunluq, daşıyıcı, yol həndəsəsi (paths).
| Parametr | Tip | Təsvir |
|---|---|---|
nomre | string, vacib | Marşrut nömrəsi: 1, 88, H1, E1, 120A |
curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/bus/route?nomre=1" { "nomre": "1", "bas": "Neftçilər m/st", "son": "28 May m/st", "tarif": "0.60 AZN", "muddet_deq": 43, "uzunluq": 25.8, "dayanacaq_sayi": 45, "dayanacaqlar": [{ "ad":"Neftçilər m/st", "lat":40.4116, "lon":49.9420 }, …] }
/api/v1/bus/routesBütün 208 marşrutun qısa siyahısı: nömrə, başlanğıc–son, tarif, müddət, dayanacaq sayı.
curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/bus/routes"
GET /resolve — çox-yerli həlledici (bot inteqrasiyası)
/api/v1/resolveİstifadəçi mətnindən çıxan yer siyahısını («Koroğlu, Qara Qarayev, Neftçilər…») hissə-hissə həll edir: hər hissə üçün ən yaxşı uyğunluq + koordinat + rayon konteksti, üstəgəl bütün tapılanların mərkəzi və bbox-u. Tək yer də işləyir — aqreqator/bot sistemləri üçün universal həlledici.
| Parametr | Tip | Təsvir |
|---|---|---|
q | string, vacib | Vergül / «və» / «;» / sətir sonu ilə ayrılan siyahı (maks 12 hissə) |
tip | string | Filtr: məs. tip=metro — yalnız metrolar arasında həll et |
threshold | float | Minimum uyğunluq (default 0.55) — altındakılar tapildi:false |
curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/resolve?q=Koroğlu, Qara Qarayev, Həzi Aslanov&tip=metro" { "verdict": "full", "n": 3, "tapilan": 3, "items": [{ "q": "Koroğlu", "tapildi": true, "ad": "Koroğlu", "tip": "metro", "lat": 40.4209, "lon": 49.9181, "erazi": { "ad": "Nizami", "tip": "alt-rayon", … } }, …], "center": [40.4021, 49.9312], "bbox": [40.3722, 49.8016, 40.4253, 49.9535], "erazi": { "ad": "Nizami", … } }
verdict: full (hamısı tapıldı) · partial
(bəziləri) · none. Hər tapılan elementin erazi sahəsi sourcing
sorğularında rayon kimi istifadə üçün nəzərdə tutulub
(erazi ən yaxın inzibati mərkəzə görədir — sərhəd zonalarında təqribidir;
dəqiqlik lazımdırsa hər elementin öz lat/lon-unu işlədin).GET /stats — platforma statistikası (açıq)
/api/v1/statsData miqyasının canlı statistikası — açar tələb olunmur. İnzibati saylar, obyekt (POI) sayı, məlumat zənginliyi (telefon/sayt/bina nömrəsi/poçt kodu/şəkil), kateqoriya bölgüsü, mənbələr. 30 dəq keşli.
curl "https://azerbaijanmap.ubermensch.cc/api/v1/stats" { "cemi_qeyd": 128682, "obyekt": { "cemi": 106950, "telefonlu": 17041, "saytli": 11244, "bina_nomreli": 12441, "poct_kodlu": 59661, "sekilli": 578 }, "unvan_noqtesi": 23723, "kateqoriyalar": [ { "ad": "Ticarət", "say": 38740 }, … ], "menbe": [ { "source": "gomap", "n": 61813 }, … ] }
GET /categories — kateqoriya ağacı
/api/v1/categoriesPOI kateqoriya ağacı: 9 əsas kateqoriya → 135 subkateqoriya, saylarla. Bu adlar
search/suggest/markers-də tip= filtri
kimi işlədilir (məs. tip=Apteklər).
curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/categories" { "kateqoriyalar": [ { "ad": "Tibb", "say": 4796, "subler": [ { "ad": "Poliklinikalar", "say": 2346 }, { "ad": "Apteklər", "say": 1675 }, … ] }, … ] }
data-types="Apteklər,Bankomatlar" — filtr paneli də
hər kateqoriyanı ▸ ilə alt növlərə açır.GET /suggest — autocomplete (yazdıqca təklif)
/api/v1/suggestPrefiks-öncəlikli, typo-dözümlü təkliflər — axtarış qutusu üçün. Metro/rayon/qəsəbə
küçə və POI-lərin hamısı; hər nəticədə highlight aralığı (hi) və
tipi. Çox sürətli (keşli).
| Parametr | Tip | Təsvir |
|---|---|---|
q | string, vacib | Yazılan mətn (≥2 simvol) |
limit | int, 1–15 | Təklif sayı (default 8) |
tip | string | Filtr: baza (metro,küçə…) və ya subkateqoriya (Apteklər,Məktəblər…) |
curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/suggest?q=koro&limit=3" { "query": "koro", "count": 3, "results": [{ "ad": "Koroğlu", "tip": "metro", "yol": "Bakı › Metro › M1", "lat": 40.4209, "lon": 49.9181, "hi": [0, 4] // "Koro" — 0-dan 4 simvol qalın }, …] }
data-search="1") bunu
avtomatik istifadə edir. Embed açarı üçün: /api/v1/embed/suggest.GET /reverse — koordinatla axtarış
/api/v1/reverseVerilən nöqtəyə (en/uzunluq) ən yaxın yerləri məsafə ilə qaytarır + nöqtənin ərazi konteksti (hansı rayondadır).
| Parametr | Tip | Təsvir |
|---|---|---|
lat | float, vacib | En (məs. 40.3777) |
lon | float, vacib | Uzunluq (məs. 49.8620) |
limit | int, 1–50 | Nəticə sayı (default 8) |
tip | string | Filtr: məs. tip=küçə — yalnız küçələr |
curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/reverse?lat=40.3777&lon=49.8620&limit=2" { "lat": 40.3777, "lon": 49.862, "erazi": { "ad": "Nəsimi", "tip": "alt-rayon", "yol": "Bakı › Nəsimi", "mesafe_km": 1.42 }, "results": [{ "ad": "Fikrət Əmirov", "tip": "küçə", "yol": "Bakı › Nəsimi › Fikrət Əmirov", "lat": 40.3781, "lon": 49.8611, "mesafe_km": 0.089 }, …] }
/full/reverse istifadə edin.GET /nearby — ətrafımda nə var
/api/v1/nearbyNöqtə ətrafında (radius metr, ≤5000) obyektlər məsafəyə görə sıralı:
ən yaxın aptek, ATM, xəstəxana, market… tip= ilə süz.
Grid indeksi ilə çox sürətli (~3ms).
| Parametr | Tip | Təsvir |
|---|---|---|
lat, lon | float, vacib | Mərkəz nöqtəsi |
tip | string | Filtr (Apteklər, Bankomatlar…); boş = hamısı |
radius | int, 50–5000 | Metr (default 1000) |
limit | int, 1–50 | Nəticə sayı (default 20) |
open | 0 · 1 | nearby: 1 → yalnız indi açıq obyektlər (iş saatına + Bakı vaxtına görə) |
curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/nearby?lat=40.3777&lon=49.8320&tip=Apteklər&radius=400" { "radius": 400, "count": 5, "results": [{ "ad": "'Çeburaşka' apteki", "tip": "Apteklər", "lat": 40.3778, "lon": 49.8325, "mesafe_m": 55 }, …] }
/api/v1/embed/nearby. Kateqoriya adları
/categories-dən.GET /address — strukturlu ünvan
/api/v1/addressNöqtənin tam ünvanı: inzibati zəncir (şəhər › rayon) + ən yaxın qəsəbə/kənd +
ən yaxın küçə (≤1.5 km) + ≤400m radiusda ən yaxın obyekt
(aptek, məktəb, mağaza…). yol — insana oxunaqlı tam ünvan.
| Parametr | Tip | Təsvir |
|---|---|---|
lat | float, vacib | En |
lon | float, vacib | Uzunluq |
curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/address?lat=40.3777&lon=49.8320" { "tam_unvan": "Bakı › Nərimanov › Ağa Nemətulla küç. 78, AZ1052", "yol": "Bakı › Nərimanov › M.Uluqbek küçəsi", "inzibati": { "ad": "Nərimanov", "tip": "alt-rayon" }, "kuce": { "ad": "M.Uluqbek küçəsi", "mesafe_m": 227 }, "bina": { "kuce": "Ağa Nemətulla küç.", "bina": "78", "mesafe_m": 24 }, "zip": "AZ1052", "obyekt": { "ad": "'Təndir' kulinariya evi", "mesafe_m": 8 } }
suggest/nearby/markers nəticələri də uyğun POI-lər
üçün bina və zip sahələrini daşıyır.GET /details — tam detallar
/api/v1/detailsTapılan yerin bütün alt-qeydləri: rayonun qəsəbə/kənd/küçə siyahısı, metro stansiyasının strukturu və s. Test tokeni ilə əlçatan deyil.
curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/details?q=Bilgəh"
/full/* — obyektlərlə (məktəb, aptek, mağaza…)
Eyni imzalı üç endpoint — baza + 114903 obyekt üzərində işləyir:
| Endpoint | Təsvir |
|---|---|
GET /full/search | Adla axtarış: q=yasamal aptek, q=bdu, q=nesimi kafe |
GET /full/reverse | Koordinatla ən yaxın obyektlər + baza qeydləri |
GET /full/details | Obyekt detalları (kateqoriya, növ, ünvan) |
# rayon + kateqoriya axtarışı curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/full/search?q=yasamal çayxana" # tip filtri ilə curl -H "X-API-Key: AÇAR" "https://azerbaijanmap.ubermensch.cc/api/v1/full/search?q=nizami&tip=Apteklər,küçə"
GET /health
/api/v1/healthAçarsız sağlamlıq yoxlaması: {"status": "ok", "records": …}
POST /trial-token — test tokeni
/api/v1/trial-token2 sorğuluq pulsuz token — ana səhifədəki düymə ilə almaq ən asandır. Cihaz başına bir token, IP limiti var.
Xəta kodları
| Kod | Mənası |
|---|---|
401 | Açar yoxdur / yanlışdır / tükənib (trial) |
403 | İcazə yoxdur: trial ilə bağlı endpoint, embed açarı yad domendə |
422 | Parametr xətası (lat/lon formatı və s.) |
429 | Sürət limiti doldu — gözləyib təkrar edin |
Embed widget — quraşdırma
Xəritəni saytınıza bir script taqı ilə əlavə edin — üçüncü tərəf kitabxana yüklənmir, hər şey bizim serverdən gəlir:
<div id="az-map" style="height:420px"></div> <script src="https://azerbaijanmap.ubermensch.cc/embed.js" data-key="EMBED_AÇARINIZ" data-mode="map" data-target="#az-map"></script>
Xəritənin küncündəki yazı defolt «CC | AzərbaycanMap»-dır; açar verilərkən admin tərəfindən dəyişdirilə bilər. Canlı demolar: Nümunələr səhifəsi.
Rejimlər (data-mode)
| Rejim | Nə edir |
|---|---|
map | Filtrli tam xəritə (checkbox panel); data-search="1" ilə axtarış qutusu |
nearest | İstifadəçiyə ən yaxın N məkan; data-live="1" → realtime izləmə |
search | Axtarış qutusu + xəritə. Koordinat da yaza bilərsiniz: 40.37, 49.84 |
category | Yalnız seçilmiş kateqoriya(lar) — data-types="Tibb" |
place | Tək məkan kartı — data-q="İçərişəhər metro" |
metro | Bakı metrosu: xətlər rəngi və düzgün sırası ilə |
soil | Torpaq örtüyü xəritəsi: 8 növ rəngli overlay (FAO DSMW, AZ sərhədinə kəsilmiş), növ filtri paneli, klik → növ adı + FAO kodu; öz GeoJSON-unuzla əvəzlənə bilir |
route | A→B marşrut (öz GraphHopper mühərrikimiz, OSM AZ qrafı): 2 klik → yol xətti + məsafə + müddət; 🚗/🚴/🚶 profillər, sürüklənən nöqtələr |
izoxron | Əlçatanlıq halqaları: nöqtədən 5/10/15 dəqiqəyə çatılan sahə (piyada/velo/maşın) — əmlak, çatdırılma zonası, filial planlaması |
fleet | Donanma: şirkətin bütün vasitələri canlı bir xəritədə (push API: POST /api/v1/fleet/update + fleet id/token); dönən işarələr, sürət, siyahı paneli |
seysmik | Canlı zəlzələ xəritəsi (USGS → bizim proxy, 5 dəq keş): maqnituda dairələri, 24 saat pulsasiyası, dövr/maqnituda filtri, tarixi kataloq (1900+) |
stat | Choropleth: 79 rayon/şəhər üzrə tematik xəritə (bundled: əhali) — öz JSON datanızla istənilən göstərici; kvantil şkala, legend, hover+klik |
teyyare | Canlı hava trafiki (OpenSky → bizim proxy-keş): kursa dönən işarələr, hündürlük rəngi, reys/sürət popup-u |
gezi | Görməli yerlər foto qalereyası: şəkilli məşhur məkanlar (Wikidata/OSM) — foto-markerlər + sürüşən qalereya + Vikipediya/sayt |
tarix | Tarixi xəritə slideri: Bakı 1898 (daxili arxiv, PD) və ya öz köhnə xəritəniz (data-tarix-img + data-tarix-bounds) bugünkü xəritə üstündə |
kuce | Küçə görüntüləri (Mapillary): xəritədə örtük nöqtələri + interaktiv viewer; token: data-mapillary-token və ya server .env MAPILLARY_TOKEN |
qlobus | 3D Yer kürəsi → məkana kinematik eniş: fırlanan qlobus, 9s uçuş, sonda 3D bina + avto-orbit. İki variant: vektor (default, 3D binalar) / raster (data-style verilsə — öz stillərimizlə); data-yer (lat,lon) · data-yer-ad/zoom/pitch/bearing · data-spin |
ar | AR piyada naviqasiyası (beta): kamera + kompas + GPS → hədəfə canlı ox və məsafə; data-to (lat,lon) + data-to-ad; xarici xidmətsiz |
hava | Hava keyfiyyəti (AQI) xəritəsi: Open-Meteo grid, rəngli AQI + PM2.5/PM10/NO₂/O₃ popup |
avtobus | Avtobus marşrut şəbəkəsi (AYNA): 208 marşrut, 3450 dayanacaq — seçici + yol geometriyası + dayanacaqlar + tarif/müddət |
track | Naviqasiya: 12 nəqliyyat modeli (3D), xəritə-daxili seçici, sürətölçən (optional — data-hud="0"); data-view="3d" → əsl WebGL 3D |
Bütün parametrlər (data-atributlar)
| Atribut | Dəyər | Təsvir |
|---|---|---|
data-key | string | Vacib. Embed açarınız |
data-mode | yuxarıdakı cədvəl | Rejim (default: map) |
data-target | CSS selektor | Hədəf div (yoxdursa script yerində yaranır) |
data-style | isiqli · qaranliq · klassik · sade · voyager · relyef · peyk | Xəritə stili |
data-styles | 1 | İstifadəçiyə stil seçici panel |
data-types | CSV | Qatlar: qesebe,kend,kuce,metro + kateqoriyalar (Tibb, Ticarət…) |
data-colors | JSON | Kateqoriya rəngləri: {"Tibb":"#e91e8c"} |
data-marker | dot · pin | Marker növü (+ data-marker-size) |
data-card | CSV | Kart sətirləri: ad,tip,kat,yer,unvan,mesafe,koord |
data-center / data-zoom | lat,lon / int | Başlanğıc görünüş |
data-limit | int | nearest üçün nəticə sayı |
data-live | 1 | nearest: realtime izləmə (watchPosition) |
data-vehicle | esger · insan · qadin · genc · qadin2 · kostyum · kostyum2 · fehle · sedan · idman · hetcbek · suv · suvlux · pikap · van · taksi · polis · tecili · yangin · furqon · zibil · yaris · super · yuk · moto · bike · dinqi(2) · qayiq(2) · kabin(2) · barja · yaxta(2) · yelken(2) · öz GLB URL-iniz | track: 37 model (Kenney + Quaternius, CC0) və ya birbaşa öz modelinizin URL-i (üzü +Z, avtomatik miqyaslanır) |
data-view | 3d | track: ƏSL WebGL 3D — binalar, perspektiv, hamar kamera (MapLibre GL) |
data-color | #hex | track: maşın/velosiped/paltar rəngi |
data-hud | 0 · 1 | track: sürətölçən HUD — data-hud="0" gizlədir (default 1) |
data-pet | dog · cat · bunny · fox · URL · 0 | track: heyvan yoldaş piyada/velosiped yanınca gedir; öz GLB URL-inizi də verə bilərsiniz; 0 = funksiya tam bağlı |
data-pets | CSV | track: heyvan seçim siyahısını məhdudlaşdır |
data-assets | URL | track: 3D model bazasını öz serverinizlə əvəz edin — eyni fayl adları ilə istənilən modeli dəyişin |
data-vehicles | CSV | track: seçici siyahısını məhdudlaşdır (məs. taksi,sedan — taksi şirkəti üçün) |
data-tarix / data-tarix-img / data-tarix-bounds / data-tarix-opacity | id / URL / c,q,ş,ş / 0-1 | tarix: daxili xəritə (baku1898) və ya öz şəkliniz + künc koordinatları |
data-overlay | peyk · ndvi · qar · gece · kulek | bütün Leaflet rejimləri: peyk üst layı (bizim proxy-keş) — TrueColor / bitki indeksi / qar / gecə işıqları / canlı külək hissəcikləri (Open-Meteo, 1h keş) |
data-overlay-opacity | 0–1 | peyk layının şəffaflığı |
data-stat-url / data-stat-geo | URL | stat: dəyərlər JSON-u / öz sərhəd poliqonlarınız |
data-stat-title / data-stat-unit | mətn | stat: başlıq / vahid |
data-stat-color / data-stat-bins / data-stat-opacity | hex / 3-7 / 0-1 | stat: şkala rəngi / pillə sayı / şəffaflıq |
data-window | gun·hefte·ay | seysmik: dövr (default hefte) |
data-minmag | 0–6 | seysmik: minimum maqnituda (default 2) |
data-history | 0 · 1 | seysmik: tarixi kataloq seçimi (default 1) |
data-fleet | id | fleet: donanma identifikatoru (admin verir; demo — nümunə) |
data-interval | san | fleet: yenilənmə intervalı (default 3, min 2) |
data-fit | 0 · 1 | fleet: ilk yükləmədə bütün vasitələrə avto-yaxınlaş (default 1) |
data-from / data-to | lat,lon | route: hazır A/B nöqtələri |
data-profile / data-profiles | car·bike·foot / CSV | route+izoxron: aktiv profil / göstərilən düymələr |
data-route-color | hex | route: xəttin rəngi |
data-point | lat,lon | izoxron: hazır mərkəz nöqtəsi |
data-minutes | CSV | izoxron: halqalar dəqiqə ilə (max 4, hər biri ≤60) |
data-izo-color | hex | izoxron: halqa rəngi |
data-terrain | 0 · 1 | track 3D: relyef — Qafqaz dağları həqiqi 3D + kölgələmə (DEM tilləri öz serverimizdə); 1 aktivləşdirir (default 0 — GPU tələb edir, eksperimental) |
data-soils | CSV | soil: göstərilən torpaq növləri və sırası (boz · bozqonur · sabalidi · qehveyi · cemen · soran · dag · qumluq) |
data-soil-colors | JSON | soil: növ rənglərini əvəzlə ({"boz":"#7f8c8d"}); yeni növ açarları da olar |
data-soil-names | JSON | soil: növ adlarını əvəzlə (lokallaşdırma / öz terminləriniz) |
data-soil-opacity | 0–1 | soil: overlay şəffaflığı (default 0.44 — nazik lay) |
data-soil-url | URL | soil: öz GeoJSON datanız (FeatureCollection, properties.t = növ açarı) — kənd təsərrüfatı, geologiya və s. |
data-legend | 0 · 1 | soil: növ paneli (default 1) |
data-popup | 0 · 1 | soil: sahə klik pəncərəsi (default 1) |
data-cats | CSV · 0 | track: kateqoriyaları seç/sırala (piyada,masin,velo,gemi); tək kateqoriya → birbaşa modellər; 0 = seçici düyməsi tam yox (yalnız data-vehicle aktiv) |
data-palette | CSV | track: rəng sınırı (məs. #ffc400,#15181c) — sərbəst rəng seçimi bağlanır; tək rəng = rəng paneli gizlənir |
data-lang | az · ru · en | widget dili — bütün UI (axtarış, panellər, marşrut, düymələr) tərcümə olunur (default az) |
data-nearby | 0 · 1 | map/category: "ətrafımda" düyməsi (geolokasiya → yaxın aptek/ATM/xəstəxana…) — default 1 |
data-picker | 0 · 1 | track: xəritə-daxili nəqliyyat/rəng seçici düyməsi (default 1) |
data-q | string | place: axtarılacaq ad |
JS API ilə də çağırıla bilər (tam custom kart daxil):
AzMap.render('#el', { key:'AÇAR', mode:'category', types:'Tibb', card: m => `<b>${m.ad}</b><br>☎ <a href="tel:012">012</a>` });
Kod nümunələri
Python (requests)
import requests BASE = "https://azerbaijanmap.ubermensch.cc/api/v1" HEADERS = {"X-API-Key": "AÇARINIZ"} # 1) Adla axtarış r = requests.get(f"{BASE}/search", params={"q": "yasamal aptek", "limit": 5}, headers=HEADERS, timeout=10) r.raise_for_status() for yer in r.json()["results"]: print(f"{yer['ad']} — {yer['yol']} ({yer['lat']}, {yer['lon']})") # 2) Koordinatla axtarış (reverse) r = requests.get(f"{BASE}/reverse", params={"lat": 40.3777, "lon": 49.8620, "limit": 5}, headers=HEADERS, timeout=10) data = r.json() print("Ərazi:", data["erazi"]["yol"]) for yer in data["results"]: print(f"{yer['mesafe_km']} km — {yer['ad']} ({yer['tip']})") # 3) Obyektlərlə tam axtarış (məktəb, aptek, mağaza…) r = requests.get(f"{BASE}/full/search", params={"q": "bdu"}, headers=HEADERS, timeout=10) print(r.json()["results"][0]["ad"]) # Bakı Dövlət Universiteti
JavaScript (fetch)
const BASE = "https://azerbaijanmap.ubermensch.cc/api/v1"; const KEY = "AÇARINIZ"; async function axtar(q) { const r = await fetch( `${BASE}/full/search?q=${encodeURIComponent(q)}&limit=5`, { headers: { "X-API-Key": KEY } }); if (!r.ok) throw new Error((await r.json()).detail || r.status); return (await r.json()).results; } async function enYaxin(lat, lon) { const r = await fetch( `${BASE}/full/reverse?lat=${lat}&lon=${lon}&limit=10`, { headers: { "X-API-Key": KEY } }); const d = await r.json(); console.log("Ərazi:", d.erazi.yol); return d.results; // hər biri: {ad, tip, yol, lat, lon, mesafe_km} } // istifadəçinin konumu ilə: navigator.geolocation.getCurrentPosition(async p => { const yaxinlar = await enYaxin(p.coords.latitude, p.coords.longitude); yaxinlar.forEach(y => console.log(`${y.mesafe_km} km — ${y.ad}`)); });
Açar almaq
Açarlar əl ilə verilir — müraciət formunu doldurun (ad soyad, əlaqə, istifadə səbəbi, sayt/domain), Qiyas sizə dönüş edəcək. Sınamaq üçün 2 sorğuluq test tokeni dərhal alınır.
© Azərbaycan Yer Datası — qiyasturk@gmail.com · t.me/qiyascc