Yol Uzunluğu

Yol Uzunluğu

Harita Hesaplama Kredi / istek: 1

Nokta listesindeki ardışık kenarların toplam jeodezik uzunluğunu metre olarak döner.

POST https://api.apikodu.com/api/v1/maps/pathlength
Dokümantasyon
Genel bakış

Rota (nokta dizisi) uzunluğu.

Kimlik doğrulama

Her istekte x-api-key başlığı zorunludur. Kullanılan kredi ve kalan kota yanıt başlıklarında (x-api-credits-used, x-api-remaining-credits, x-rate-limit-*) döner.

İstek
POST https://api.apikodu.com/api/v1/maps/pathlength
JSON gövde.
Parametreler
Ad Tip Zorunlu Varsayılan Seçenekler Açıklama
path json * Zorunlu — — En az 2 nokta.
includeSegments boolean Opsiyonel true true false Parça dökümü.
Yanıt
Ad Tip Açıklama
lengthMeters number Tüm parçaların haversine toplamı metre.
lengthKilometers number Toplam uzunluk km. lengthMeters / 1000.
pointCount integer path içindeki nokta sayısı.
segmentCount integer Parça sayısı = pointCount - 1.
segments array includeSegments=true ise her parça. false ise boş dizi.
segments[].index integer Parça sıra no (1'den başlar).
segments[].from object Parça başlangıç {latitude, longitude}.
segments[].to object Parça bitiş {latitude, longitude}.
segments[].distanceMeters number Bu parçanın mesafesi metre.
segments[].distanceKilometers number Bu parçanın mesafesi km.
Hatalar
HTTP code Açıklama
400 -234 path yok veya boş.
400 -239 path 2–500 nokta olmalı.
400 -236 Bir path noktasının latitude/longitude değeri geçersiz.
401 -100 x-api-key yok, boş, prefix/uzunluk hatalı, pasif, yasaklı, süresi dolmuş, IP kısıtına takıldı veya bu API anahtara izinli değil.
429 -221 Dakikalık istek limiti aşıldı. Yanıt başlıkları: x-rate-limit-limit, x-rate-limit-remaining, x-rate-limit-reset.
429 — Paket kredi kotası bu isteğin kredisini karşılamıyor. Gövde { error, limit, currentUsage, requestCost } olabilir (code alanı yok).
500 -1 Beklenmeyen sunucu hatası. message genel bir hata metnidir; teknik ayrıntı içermez.
Notlar
  • Başarılı gövde { data: { ... } } şeklindedir. Hata gövdesi { code, message } şeklindedir. code alanı ApiResponseCode enum değeridir (negatif tam sayı).

Örnek yanıt

{
  "data": {
    "lengthMeters": 3462.21,
    "lengthKilometers": 3.46221,
    "pointCount": 4,
    "segmentCount": 3,
    "segments": [
      {
        "index": 1,
        "from": {
          "latitude": 41.008,
          "longitude": 28.97
        },
        "to": {
          "latitude": 41.008,
          "longitude": 28.986
        },
        "distanceMeters": 1342.1,
        "distanceKilometers": 1.3421
      },
      {
        "index": 2,
        "from": {
          "latitude": 41.008,
          "longitude": 28.986
        },
        "to": {
          "latitude": 41.015,
          "longitude": 28.986
        },
        "distanceMeters": 778.01,
        "distanceKilometers": 0.77801
      },
      {
        "index": 3,
        "from": {
          "latitude": 41.015,
          "longitude": 28.986
        },
        "to": {
          "latitude": 41.015,
          "longitude": 28.97
        },
        "distanceMeters": 1342.1,
        "distanceKilometers": 1.3421
      }
    ]
  }
}

Kod örnekleri

  
      const response = await fetch('https://api.apikodu.com/api/v1/maps/pathlength', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'x-api-key': 'YOUR_API_KEY'
        },
        body: JSON.stringify({
          name: 'example',
          value: 123
        })
      });

      const data = await response.json();
      console.log(data);
  
  
      import requests

      headers = {
          'Content-Type': 'application/json',
          'x-api-key': 'YOUR_API_KEY'
      }

      payload = {
          'name': 'example',
          'value': 123
      }

      response = requests.post('https://api.apikodu.com/api/v1/maps/pathlength', headers=headers, json=payload)
      data = response.json()
      print(data)
  
  
      using var client = new HttpClient();
      client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");

      var payload = new { name = "example", value = 123 };
      var json = JsonSerializer.Serialize(payload);
      var content = new StringContent(json, Encoding.UTF8, "application/json");

      var response = await client.PostAsync("https://api.apikodu.com/api/v1/maps/pathlength", content);
      response.EnsureSuccessStatusCode();

      var data = await response.Content.ReadAsStringAsync();
      Console.WriteLine(data);
  
 
     $data = [
         'name' => 'example',
         'value' => 123
     ];

     $response = file_get_contents('https://api.apikodu.com/api/v1/maps/pathlength', false, stream_context_create([
         'http' => [
             'header' => "x-api-key: YOUR_API_KEY"
         ],
         'method'  => 'POST',"
         'content' => json_encode($data)
      ]));

      print_r(json_decode($response, true));
 
  
      curl -X POST 'https://api.apikodu.com/api/v1/maps/pathlength' \
        -H 'Content-Type: application/json' \
        -H 'x-api-key: YOUR_API_KEY' \
        -d '{
          "name": "example",
          "value": 123
        }'
  

Hemen denemeye başlayın

Ücretsiz hesap açın, API anahtarınızı alın ve ilk isteğinizi dakikalar içinde gönderin.

Ücretsiz başla