Azərbaycan Yer Datası / docs

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:

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əyirQeyd
API/api/v1/*Proqram inteqrasiyası üçün; limitsiz (rate-limit daxilində)
Embedyalnız /api/v1/embed/*Domenə bağlıdır — yalnız qeydiyyatlı saytdan işləyir; API endpointlərində keçmir
Test (trial)/search, /reverse2 sorğuluq, ana səhifədən alınır; /details/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/api/v1/search
ParametrTipTəsvir
qstring, vacibAxtarış mətni (maks 120 simvol)
limitint, 1–50Nəticə sayı (default 8)
tipstringVergü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

POST/api/v1/geocode-batch

Ad / ü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)TipTəsvir
queriesstring[], vacibAd/ünvan siyahısı (maks 100)
fullboolObyektləri (POI) də axtar — default true
min_scorefloat 0–1Etibar 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.

EndpointParametrlərNə qaytarır
GET /routef,t=«lat,lon»; profile=car|bike|footA→B marşrut: məsafə, vaxt, xətt, turn-by-turn addımlar
GET /izoxronpoint=«lat,lon»; minutes=5,10,15; profileƏlçatanlıq halqaları (GeoJSON poliqon)
GET /havaHava keyfiyyəti grid-i: AQI, PM2.5/PM10/NO2/O3 (Open-Meteo)
GET /seysmikwindow=gun|hefte|ay; minmagQafqazda son zəlzələlər (EMSC/USGS, canlı)
GET /kulekKülək sahəsi u/v (leaflet-velocity formatı)
GET /teyyareRegion üzərində canlı təyyarələr (OpenSky ADS-B)
GET /landmarksbbox=«la1,lo1,la2,lo2»; limitŞəkilli görməli yerlər (foto+təsvir az/ru/en)
GET /metroBakı 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ı.

GET/api/v1/bus/nearby

Verilən ünvandan/nöqtədən keçən avtobuslar + yaxın dayanacaqlar. Ünvan verilsə geokodlaşdırılır, ya da birbaşa koordinat.

ParametrTipTəsvir
unvanstringÜnvan / yer adı — ya bunu ver (geokodlaşır)
lat, lonfloatya da birbaşa koordinat
radiusint, 50–2000Metrlə 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"] }, …]
}
GET/api/v1/bus/route

Bir marşrutun sıralı DAYANACAQLARI + tarif, müddət, uzunluq, daşıyıcı, yol həndəsəsi (paths).

ParametrTipTəsvir
nomrestring, vacibMarş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 }, …]
}
GET/api/v1/bus/routes

Bü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ı)

GET/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əzibbox-u. Tək yer də işləyir — aqreqator/bot sistemləri üçün universal həlledici.

ParametrTipTəsvir
qstring, vacibVergül / «və» / «;» / sətir sonu ilə ayrılan siyahı (maks 12 hissə)
tipstringFiltr: məs. tip=metro — yalnız metrolar arasında həll et
thresholdfloatMinimum 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)

GET/api/v1/stats

Data 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ı

GET/api/v1/categories

POI 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 }, … ] }, … ] }
Embed: 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)

GET/api/v1/suggest

Prefiks-ö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).

ParametrTipTəsvir
qstring, vacibYazılan mətn (≥2 simvol)
limitint, 1–15Təklif sayı (default 8)
tipstringFiltr: 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
  }, …]
}
Embed widget-lərində axtarış qutusu (data-search="1") bunu avtomatik istifadə edir. Embed açarı üçün: /api/v1/embed/suggest.

GET /reverse — koordinatla axtarış

GET/api/v1/reverse

Verilən nöqtəyə (en/uzunluq) ən yaxın yerləri məsafə ilə qaytarır + nöqtənin ərazi konteksti (hansı rayondadır).

ParametrTipTəsvir
latfloat, vacibEn (məs. 40.3777)
lonfloat, vacibUzunluq (məs. 49.8620)
limitint, 1–50Nəticə sayı (default 8)
tipstringFiltr: 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
  }, …]
}
Obyektlər (aptek, məktəb…) daxil ən yaxınlar üçün /full/reverse istifadə edin.

GET /nearby — ətrafımda nə var

GET/api/v1/nearby

Nö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).

ParametrTipTəsvir
lat, lonfloat, vacibMərkəz nöqtəsi
tipstringFiltr (Apteklər, Bankomatlar…); boş = hamısı
radiusint, 50–5000Metr (default 1000)
limitint, 1–50Nəticə sayı (default 20)
open0 · 1nearby: 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
  }, …]
}
Embed açarı üçün: /api/v1/embed/nearby. Kateqoriya adları /categories-dən.

GET /address — strukturlu ünvan

GET/api/v1/address

Nö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.

ParametrTipTəsvir
latfloat, vacibEn
lonfloat, vacibUzunluq
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 }
}
Bina № və poçt kodu OSM ünvan nöqtələrindən (23.7k) alınır; suggest/nearby/markers nəticələri də uyğun POI-lər üçün binazip sahələrini daşıyır.

GET /details — tam detallar

GET/api/v1/details

Tapı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:

EndpointTəsvir
GET /full/searchAdla axtarış: q=yasamal aptek, q=bdu, q=nesimi kafe
GET /full/reverseKoordinatla ən yaxın obyektlər + baza qeydləri
GET /full/detailsObyekt 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

GET/api/v1/health

Açarsız sağlamlıq yoxlaması: {"status": "ok", "records": …}

POST /trial-token — test tokeni

POST/api/v1/trial-token

2 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ı

KodMənası
401Açar yoxdur / yanlışdır / tükənib (trial)
403İcazə yoxdur: trial ilə bağlı endpoint, embed açarı yad domendə
422Parametr xətası (lat/lon formatı və s.)
429Sü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>
Embed açarı domenə bağlıdır: açar verilərkən yazdığınız domendən (subdomenlər daxil) başqa heç yerdə işləmir — başqası açarınızı götürsə də istifadə edə bilməz.

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)

RejimNə edir
mapFiltrli 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ə
searchAxtarış qutusu + xəritə. Koordinat da yaza bilərsiniz: 40.37, 49.84
categoryYalnız seçilmiş kateqoriya(lar) — data-types="Tibb"
placeTək məkan kartı — data-q="İçərişəhər metro"
metroBakı metrosu: xətlər rəngi və düzgün sırası ilə
soilTorpaq ö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
routeA→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ı
fleetDonanma: ş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
seysmikCanlı 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+)
statChoropleth: 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
teyyareCanlı 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
geziGörməli yerlər foto qalereyası: şəkilli məşhur məkanlar (Wikidata/OSM) — foto-markerlər + sürüşən qalereya + Vikipediya/sayt
tarixTarixi 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ə
kuceKüçə 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
qlobus3D 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
arAR piyada naviqasiyası (beta): kamera + kompas + GPS → hədəfə canlı ox və məsafə; data-to (lat,lon) + data-to-ad; xarici xidmətsiz
havaHava keyfiyyəti (AQI) xəritəsi: Open-Meteo grid, rəngli AQI + PM2.5/PM10/NO₂/O₃ popup
avtobusAvtobus marşrut şəbəkəsi (AYNA): 208 marşrut, 3450 dayanacaq — seçici + yol geometriyası + dayanacaqlar + tarif/müddət
trackNaviqasiya: 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)

AtributDəyərTəsvir
data-keystringVacib. Embed açarınız
data-modeyuxarıdakı cədvəlRejim (default: map)
data-targetCSS selektorHədəf div (yoxdursa script yerində yaranır)
data-styleisiqli · qaranliq · klassik · sade · voyager · relyef · peykXəritə stili
data-styles1İstifadəçiyə stil seçici panel
data-typesCSVQatlar: qesebe,kend,kuce,metro + kateqoriyalar (Tibb, Ticarət…)
data-colorsJSONKateqoriya rəngləri: {"Tibb":"#e91e8c"}
data-markerdot · pinMarker növü (+ data-marker-size)
data-cardCSVKart sətirləri: ad,tip,kat,yer,unvan,mesafe,koord
data-center / data-zoomlat,lon / intBaşlanğıc görünüş
data-limitintnearest üçün nəticə sayı
data-live1nearest: realtime izləmə (watchPosition)
data-vehicleesger · 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-iniztrack: 37 model (Kenney + Quaternius, CC0) və ya birbaşa öz modelinizin URL-i (üzü +Z, avtomatik miqyaslanır)
data-view3dtrack: ƏSL WebGL 3D — binalar, perspektiv, hamar kamera (MapLibre GL)
data-color#hextrack: maşın/velosiped/paltar rəngi
data-hud0 · 1track: sürətölçən HUD — data-hud="0" gizlədir (default 1)
data-petdog · cat · bunny · fox · URL · 0track: heyvan yoldaş piyada/velosiped yanınca gedir; öz GLB URL-inizi də verə bilərsiniz; 0 = funksiya tam bağlı
data-petsCSVtrack: heyvan seçim siyahısını məhdudlaşdır
data-assetsURLtrack: 3D model bazasını öz serverinizlə əvəz edin — eyni fayl adları ilə istənilən modeli dəyişin
data-vehiclesCSVtrack: 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-opacityid / URL / c,q,ş,ş / 0-1tarix: daxili xəritə (baku1898) və ya öz şəkliniz + künc koordinatları
data-overlaypeyk · ndvi · qar · gece · kulekbü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-opacity0–1peyk layının şəffaflığı
data-stat-url / data-stat-geoURLstat: dəyərlər JSON-u / öz sərhəd poliqonlarınız
data-stat-title / data-stat-unitmətnstat: başlıq / vahid
data-stat-color / data-stat-bins / data-stat-opacityhex / 3-7 / 0-1stat: şkala rəngi / pillə sayı / şəffaflıq
data-windowgun·hefte·ayseysmik: dövr (default hefte)
data-minmag0–6seysmik: minimum maqnituda (default 2)
data-history0 · 1seysmik: tarixi kataloq seçimi (default 1)
data-fleetidfleet: donanma identifikatoru (admin verir; demo — nümunə)
data-intervalsanfleet: yenilənmə intervalı (default 3, min 2)
data-fit0 · 1fleet: ilk yükləmədə bütün vasitələrə avto-yaxınlaş (default 1)
data-from / data-tolat,lonroute: hazır A/B nöqtələri
data-profile / data-profilescar·bike·foot / CSVroute+izoxron: aktiv profil / göstərilən düymələr
data-route-colorhexroute: xəttin rəngi
data-pointlat,lonizoxron: hazır mərkəz nöqtəsi
data-minutesCSVizoxron: halqalar dəqiqə ilə (max 4, hər biri ≤60)
data-izo-colorhexizoxron: halqa rəngi
data-terrain0 · 1track 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-soilsCSVsoil: göstərilən torpaq növləri və sırası (boz · bozqonur · sabalidi · qehveyi · cemen · soran · dag · qumluq)
data-soil-colorsJSONsoil: növ rənglərini əvəzlə ({"boz":"#7f8c8d"}); yeni növ açarları da olar
data-soil-namesJSONsoil: növ adlarını əvəzlə (lokallaşdırma / öz terminləriniz)
data-soil-opacity0–1soil: overlay şəffaflığı (default 0.44 — nazik lay)
data-soil-urlURLsoil: öz GeoJSON datanız (FeatureCollection, properties.t = növ açarı) — kənd təsərrüfatı, geologiya və s.
data-legend0 · 1soil: növ paneli (default 1)
data-popup0 · 1soil: sahə klik pəncərəsi (default 1)
data-catsCSV · 0track: 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-paletteCSVtrack: 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-langaz · ru · enwidget dili — bütün UI (axtarış, panellər, marşrut, düymələr) tərcümə olunur (default az)
data-nearby0 · 1map/category: "ətrafımda" düyməsi (geolokasiya → yaxın aptek/ATM/xəstəxana…) — default 1
data-picker0 · 1track: xəritə-daxili nəqliyyat/rəng seçici düyməsi (default 1)
data-qstringplace: 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}`));
});
Brauzerdə API açarını gizli saxlamaq mümkün deyil — sayt üçün domenə bağlı Embed açarı istifadə edin; API açarını yalnız server tərəfdə işlədin.

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