SDKs
Quatre SDKs officiels, même API.
Tous les SDKs AfriMap partagent le même contrat : mêmes noms de méthodes, mêmes payloads, même décodeur polyline précision-6, même NavigationSession. Changez de plateforme sans changer votre logique métier.
@afrimap/sdk
JavaScript / TypeScript
ESM + CJS, entièrement tree-shakeable, types inclus. Compatible avec Nuxt, Next, Vite, Remix et Node 18+.
TerminalInstallation
npm install @afrimap/sdkTypeScriptPremier appel
import { AfriMapClient } from '@afrimap/sdk'const client = new AfriMapClient({ apiKey: 'afm_live_…' }) const res = await client.routing.route({ origin: { lat: 5.3197, lng: -4.0167 }, destination: { lat: 5.3480, lng: -3.9904 }, mode: 'auto', })ci.afrimap:sdk
Kotlin (Android)
Ktor-based, coroutines partout, MapLibre Android intégré. Compose-friendly, testé sur API 26+.
Kotlinbuild.gradle.kts
dependencies { implementation("ci.afrimap:sdk:1.0.0") }KotlinPremier appel
val client = AfriMapClient.Builder() .apiKey("afm_live_…") .build() val response = client.routing.route( origin = LatLng(5.3197, -4.0167), destination = LatLng(5.3480, -3.9904), mode = "auto", )AfriMapSDK
Swift (iOS)
Swift Package Manager, async/await, iOS 16+, MapLibre iOS intégré, DriverMarker3D via SceneKit.
SwiftPackage.swift
dependencies: [ .package(url: "https://github.com/rellinxe/afri-map", from: "1.0.0"), ]SwiftPremier appel
let client = AfriMapClient(apiKey: "afm_live_…") let response = try await client.routing.route( from: .init(lat: 5.3197, lng: -4.0167), to: .init(lat: 5.3480, lng: -3.9904), mode: .auto )github.com/rellinxe/afri-map/sdks/go
Go
Pour vos backends. Typage fort, context.Context partout, aucune dépendance externe au-delà de net/http.
TerminalInstallation
go get github.com/rellinxe/afri-map/sdks/goGoPremier appel
import afrimap "github.com/rellinxe/afri-map/sdks/go" client := afrimap.NewClient("afm_live_…") resp, err := client.Route(ctx, afrimap.RouteRequest{ Origin: afrimap.LatLng{Lat: 5.3197, Lng: -4.0167}, Destination: afrimap.LatLng{Lat: 5.3480, Lng: -3.9904}, })