N-Ways
Documentation développeursAPI Tuiles

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.

Sur cette page

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éshttps://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 tuilehttps://nways.ng/maps/v1/tiles/base/{z}/{x}/{y}.mvt (tous les pays dans un seul jeu de tuiles)
ArchivesUne 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.
Policeshttps://tiles.nways.ng/maps/v1/fonts/{fontstack}/{range}.pbf (gratuites, sans clé)
Autres jeux de tuilesdetail (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
FormatMapbox Vector Tiles (MVT) dans une archive PMTiles v3
Niveaux de zoomDe 0 à 15 (affichées agrandies au-delà de 15)
CouvertureNigeria, 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
StatutEn 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

JavaScript
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.

CoucheContenuChamps utiles
earthLes terreskind
waterMer, lagunes, fleuves et rivières, lacskind, name
landcoverForêt, herbe, terres agricoles, broussailleskind
landuseParcs, marchés, hôpitaux, écoles, zones résidentielleskind
roadsRoutes et cheminskind (highway, major_road, minor_road, path, other), kind_detail, name, ref, oneway, is_bridge, is_tunnel
buildingsEmprises des bâtimentsheight, min_height, addr_housenumber
boundariesFrontières des pays et limites des Étatskind, kind_detail, disputed
placesPays, États, villes, localités, quartierskind, name, population, capital, min_zoom
poisPoints d’intérêtkind, 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