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/sdk
TypeScriptPremier 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/go
GoPremier 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}, })