osrmroute
Sənədləşdirmə

Mobil SDK-lar

Android/JVM üçün Kotlin, iOS üçün Swift. Tipli modellər və asinxron sorğularla OSRMRoute coğrafi API-lərinə qoşulun.

Öz backend-iniz üzərindən qoşulun

OSRMRoute API açarını serverinizdə saxlayın. Tətbiq qısamüddətli sessiya tokenini sizin autentifikasiyalı proxy-yə göndərir. Proxy icazəli endpointləri, istifadəçi girişini və limitləri yoxlamalı, OSRMRoute açarını serverdə əlavə etməlidir. Tətbiqin tokenini OSRMRoute-a ötürməyin.

Endirin və quraşdırın

0.1.0 versiyası mənbə paketi kimi mövcuddur. Kotlin Maven Central-da yayımlanmayıb. Kotlin paketini açıb Gradle modulu kimi qoşun; Swift qovluğunu Xcode-da lokal paket kimi əlavə edin.

settings.gradle.kts
// Extract the Kotlin archive into your project folder.
include(":osrmroute-kotlin")
project(":osrmroute-kotlin").projectDir = file("osrmroute-kotlin-0.1.0")
app/build.gradle.kts
dependencies {
    implementation(project(":osrmroute-kotlin"))
}
// AndroidManifest.xml:
// <uses-permission android:name="android.permission.INTERNET" />
Xcode · Swift Package Manager
Xcode → File → Add Package Dependencies → Add Local
// Select the extracted osrmroute-swift-0.1.0 folder.
// Add the OSRMRoute library to your application target.

Kotlin · Android / JVM

Kotlin
import com.osrmroute.OSRMRoute
import com.osrmroute.Coordinate

// Call from a coroutine. Use your app session, not an embedded OSRMRoute key.
val client = OSRMRoute(
    baseUrl = "https://your-backend.example/location",
    tokenProvider = { applicationSessionToken }
)
val result = client.route(listOf(
    Coordinate(latitude = 52.52, longitude = 13.405),
    Coordinate(latitude = 52.50, longitude = 13.39)
))
val metres = result.routes.first().distance
// Close the shared client when its owner is disposed.
client.close()

Swift · iOS

Swift
import Foundation
import OSRMRoute

// Call from an async function. Use your own authenticated backend.
let client = try OSRMRouteClient(
    baseURL: URL(string: "https://your-backend.example/location")!,
    tokenProvider: { applicationSessionToken }
)
let result = try await client.route([
    Coordinate(latitude: 48.8566, longitude: 2.3522),
    Coordinate(latitude: 48.8606, longitude: 2.3376)
])
let metres = result.routes[0].distance

Dəstəklənən metodlar

Tipli cavablar: route, matrix, geocode, reverse və autocomplete. Places JSON qaytarır. getJson/getJSON və postJson/postJSON digər coğrafi endpointləri dəstəkləyir. Serverdəki paket limitləri və əhatə dairəsi qüvvədədir.

Sorğular və xətalar

Təkrar cəhd standart olaraq sıfırdır. İstəyə bağlı təkrar yalnız 429, 502, 503 və 504 GET cavabları üçün ən çox iki dəfə edilir. Retry-After 30 saniyədən çoxdursa və ya tarix formatındadırsa sorğu təkrarlanmır. Şəbəkə xətaları və POST sorğuları avtomatik təkrarlanmır.

Kotlin / Swift
// Kotlin: OSRMRouteException.status and .code
// Swift: SDKError.http(status:), .transport, .invalidResponse, .invalidInput
// Cancellation propagates to the caller.
// Default timeout: 30 seconds. Configurable maximum: 120 seconds.
// Coordinates: latitude, longitude. Distances: metres. Durations: seconds.
// Matrix null cells mean unreachable, not zero.

Yalnız API inteqrasiyası

Bu paketlər xəritə göstərmir, offline xəritə və addım-addım naviqasiya vermir. Kotlin Android API 21+ və JVM 17, Swift iOS 15+ və macOS 12+ üçündür. Paket testləri real cihaz yoxlamasını əvəz etmir.

Sənədləşdirmə →
Dəstək komandası

OSRMRoute Dəstək

Komandamıza birbaşa yazın

KÖMƏK ÜÇÜN BURADAYIQ

Sizə necə kömək edək?

İnteqrasiya, ödəniş və ya hesabınız barədə yazın. Cavablarımız bu söhbətdə görünəcək.

Sizin çatlarınız

Çatlarınız burada görünəcək.