API Tuiles
Les tuiles vectorielles derrière chaque carte N-Ways, pour vos propres styles : routes, bâtiments, eau, terres, localités et points d’intérêt au Nigeria, au Ghana, au Bénin, au Togo, au Gabon, en Côte d’Ivoire, au Libéria, en Guinée, en Sierra Leone, en Guinée-Bissau, au Sénégal, au Cameroun, au Burkina Faso, au Cap-Vert et en Gambie.
Comment N-Ways sert les tuiles
Les données cartographiques de N-Ways sont fournies sous forme de tuiles vectorielles, de deux façons : une tuile à la fois (.mvt, pour n’importe quelle bibliothèque cartographique), ou dans une archive PMTiles lue morceau par morceau avec des requêtes HTTP partielles, dites range (MapLibre avec le protocole de la bibliothèque pmtiles), qui se met bien en cache sur les téléphones et en périphérie du réseau.
| Styles hébergés | https://nways.ng/maps/v1/styles/streets-light.json, streets-dark.json (?lang=fr pour les noms en français ; ?format=pmtiles pour lire l’archive) |
| Une tuile | https://nways.ng/maps/v1/tiles/base/{z}/{x}/{y}.mvt (tous les pays dans un seul jeu de tuiles) |
| Archives | Une par pays, comme https://tiles.nways.ng/maps/v1/tiles/nigeria.pmtiles (le CDN, sans clé), ou https://nways.ng/maps/v1/tiles/nigeria.pmtiles (avec la clé). Les archives de chaque pays sont listées dans countries.json, dans le même dossier. |
| Polices | https://tiles.nways.ng/maps/v1/fonts/{fontstack}/{range}.pbf (gratuites, sans clé) |
| Autres jeux de tuiles | detail (voies, marquages, tous les bâtiments, zoom 12 à 16) et transit (rail, gares, bateaux, travaux, zoom 5 à 15), une tuile à la fois ; en archives, nigeria-detail.pmtiles et nigeria-transit.pmtiles |
| Format | Mapbox Vector Tiles (MVT) dans une archive PMTiles v3 |
| Niveaux de zoom | De 0 à 15 (affichées agrandies au-delà de 15) |
| Couverture | Nigeria, Ghana, Bénin, Togo, Gabon, Côte d’Ivoire, Libéria, Guinée, Sierra Leone, Guinée-Bissau, Sénégal, Cameroun, Burkina Faso, Cap-Vert et Gambie ; l’emprise et le contour de chaque pays sont dans countries.json |
| Statut | En service |
Une tuile de base, detail ou transit vient de l’archive du pays où elle se trouve : une seule adresse de tuiles couvre donc les quinze pays ; une archive lue directement ne couvre qu’un pays. Avec ?format=pmtiles, un style hébergé a une source par pays. Une lecture de style hébergé compte pour un chargement de carte : c’est là que votre clé est vérifiée. Les styles hébergés lisent les archives et les polices depuis le CDN tiles.nways.ng, une copie publique dont les lectures ne demandent pas de clé et ne sont pas comptées. Sur l’API, chaque tuile, ou chaque session de lecture de l’archive depuis un site, compte pour un appel Tuiles. Les polices ne sont jamais facturées. Les anciennes adresses (https://nways.ng/tiles/…, /fonts/…) continuent de fonctionner.
Les utiliser dans un style
import * as maplibregl from 'maplibre-gl'
import { Protocol } from 'pmtiles'
maplibregl.addProtocol('pmtiles', new Protocol().tile)
new maplibregl.Map({
container: 'map',
center: [3.3792, 6.5244],
zoom: 12,
style: {
version: 8,
glyphs: 'https://tiles.nways.ng/maps/v1/fonts/{fontstack}/{range}.pbf',
sources: {
nways: {
type: 'vector',
// L’archive d’un pays (countries.json les liste toutes).
url: 'pmtiles://https://tiles.nways.ng/maps/v1/tiles/nigeria.pmtiles',
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors · N-Ways',
},
},
layers: [
{ id: 'land', type: 'background', paint: { 'background-color': '#eef0e6' } },
{ id: 'water', type: 'fill', source: 'nways', 'source-layer': 'water', paint: { 'fill-color': '#9cc7e4' } },
{ id: 'roads', type: 'line', source: 'nways', 'source-layer': 'roads', paint: { 'line-color': '#ffffff', 'line-width': 1.5 } },
],
},
})Le SDK Maps fait tout cela pour vous, avec un style complet.
Couches
Les tuiles suivent les couches de la carte de base Protomaps. Chaque objet a un kind ; ceux qui ont un nom ont name (le nom local), et souvent name:en et name:fr.
| Couche | Contenu | Champs utiles |
|---|---|---|
earth | Les terres | kind |
water | Mer, lagunes, fleuves et rivières, lacs | kind, name |
landcover | Forêt, herbe, terres agricoles, broussailles | kind |
landuse | Parcs, marchés, hôpitaux, écoles, zones résidentielles | kind |
roads | Routes et chemins | kind (highway, major_road, minor_road, path, other), kind_detail, name, ref, oneway, is_bridge, is_tunnel |
buildings | Emprises des bâtiments | height, min_height, addr_housenumber |
boundaries | Frontières des pays et limites des États | kind, kind_detail, disputed |
places | Pays, États, villes, localités, quartiers | kind, name, population, capital, min_zoom |
pois | Points d’intérêt | kind, name, min_zoom |
Polices
Les libellés de la carte utilisent Inter. Les piles de polices sont Inter-Regular, Inter-Medium, Inter-SemiBold, Inter-Bold et Inter-Italic ; utilisez-en une à la fois, par exemple "text-font": ["Inter-Medium"].
Mise en cache
Les navigateurs et MapLibre mettent les tuiles en cache pour vous. Ne téléchargez pas des archives entières et ne parcourez pas toutes les tuiles pour les stocker : pour des cartes sans réseau, utilisez les packs hors connexion. Ce que vous pouvez stocker