Packs hors connexion
Des cartes qui marchent même quand le réseau tombe : téléchargez une ville ou une zone de livraison à l’avance, en Wi-Fi.
Les livreurs perdent le réseau sous les ponts, dans les marchés et à la sortie des villes. Un pack hors connexion contient la carte et les données d’itinéraire d’une région, téléchargées à l’avance (en Wi-Fi, au dépôt), pour que votre appli livreur continue d’afficher la carte et de calculer des itinéraires sans connexion.
Les packs hors connexion sont fournis avec le suivi de flotte (offre sur accord). Référence
Ce que contient un pack
| Fichier | Ce que c’est | Avec quoi l’ouvrir |
|---|---|---|
map.pmtiles | La carte vectorielle de la région jusqu’au zoom 15, les mêmes tuiles que celles dessinées par les SDK Maps | MapLibre Native (pmtiles:// sur un fichier local), ou les SDK Android et iOS |
routing.tar | Le graphe routier de la région, pour le calcul d’itinéraires sur l’appareil | Un moteur d’itinéraires embarqué qui lit les tuiles Valhalla |
Un pack est reconstruit quand la carte ou le graphe routier change : sa version change, et chaque fichier indique sa taille et son SHA-256, pour que votre appli ne télécharge que ce qui a changé.
Télécharger un pack
GET /maps/v1/fleet/offline/regionsliste les régions prêtes à l’emploi (Lagos, Abuja, Ibadan, Port Harcourt, Kano, Accra, Kumasi, Cotonou, Lomé, Libreville, Abidjan, Monrovia, Conakry, Freetown, Bissau, Dakar, Douala, Yaoundé, Ouagadougou, Bobo-Dioulasso, Praia, Mindelo et d’autres) avec leurs emprises. Pour votre propre zone de livraison, demandez la régioncustom-<minLng>_<minLat>_<maxLng>_<maxLat>: 0,6° de large au plus, sur une grille de 0,05°.GET /maps/v1/fleet/offline/packs/{region}donne le manifeste. Un202signifie qu’il est en cours de construction : redemandez aprèsRetry-Aftersecondes.- Téléchargez chaque fichier depuis son
urlavec votre clé. Les téléchargements peuvent être repris avec l’en-tête HTTPRange, et l’ETagest l’empreinte du fichier.
curl "https://nways.ng/maps/v1/fleet/offline/packs/lagos" -H "X-NWays-Api-Key: VOTRE_CLE_APPLI"L’afficher sur la carte
Faites pointer la source vectorielle du style vers le fichier téléchargé. Avec les SDK N-Ways, téléchargez aussi une fois le style hébergé et remplacez-y l’adresse des tuiles par le fichier local :
// La carte du pack, enregistrée dans les fichiers de l’appli.
val local = "pmtiles://file://" + File(filesDir, "packs/lagos/map.pmtiles").absolutePath
val style = savedStyleJson.replace(Regex("pmtiles://https://[^\"]+"), local)
map.setStyle(Style.Builder().fromJson(style))À garder en tête
- Les packs sont destinés aux utilisateurs de vos propres applis, pas à la redistribution. La mention OpenStreetMap reste affichée sur la carte.
- La recherche et les tarifs de course ont besoin du réseau ; prévoyez-le (mettez en cache les adresses de la journée avant de partir).
- Mettez les packs à jour chaque semaine : les routes, les interdictions et les sens uniques changent.