N-Ways
Documentação para programadoresPacotes offline

Pacotes offline

Mapas que continuam a funcionar quando a rede falha: transfira uma cidade ou uma zona de entrega com antecedência, por Wi-Fi.

Nesta página

Os estafetas perdem a rede debaixo das pontes, nos mercados e à saída das cidades. Um pacote offline contém o mapa e os dados de percurso de uma região, transferidos com antecedência (por Wi-Fi, no armazém), para que a sua aplicação de estafeta continue a mostrar o mapa e a calcular percursos sem ligação.

Nota:

Os pacotes offline são fornecidos com o seguimento de frota (oferta mediante acordo). Referência

O que contém um pacote

FicheiroO que éCom que abrir
map.pmtilesO mapa vetorial da região até ao zoom 15, os mesmos mosaicos que os SDK Maps desenhamMapLibre Native (pmtiles:// sobre um ficheiro local), ou os SDK Android e iOS
routing.tarO grafo rodoviário da região, para o cálculo de percursos no aparelhoUm motor de percursos embarcado que leia mosaicos Valhalla

Um pacote é reconstruído quando o mapa ou o grafo rodoviário muda: a sua version muda, e cada ficheiro indica o seu tamanho e o seu SHA-256, para que a sua aplicação só transfira o que mudou.

Transferir um pacote

  1. GET /maps/v1/fleet/offline/regions lista as regiões prontas a usar (Lagos, Abuja, Ibadan, Port Harcourt, Kano, Acra, Kumasi, Cotonou, Lomé, Libreville, Abidjan, Monróvia, Conacri, Freetown, Bissau, Dacar, Douala, Iaundé, Ouagadougou, Bobo-Dioulasso, Praia, Mindelo e outras) com as suas extensões. Para a sua própria zona de entrega, peça a região custom-<minLng>_<minLat>_<maxLng>_<maxLat>: 0,6° de largura no máximo, numa grelha de 0,05°.
  2. GET /maps/v1/fleet/offline/packs/{region} devolve o manifesto. Um 202 significa que está a ser construído: volte a pedir após Retry-After segundos.
  3. Transfira cada ficheiro a partir do seu url com a sua chave. As transferências podem ser retomadas com o cabeçalho HTTP Range, e o ETag é a impressão digital do ficheiro.
cURL
curl "https://nways.ng/maps/v1/fleet/offline/packs/lagos" -H "X-NWays-Api-Key: A_SUA_CHAVE_APP"

Mostrá-lo no mapa

Aponte a fonte vetorial do estilo para o ficheiro transferido. Com os SDK N-Ways, transfira também uma vez o estilo alojado e substitua nele o endereço dos mosaicos pelo ficheiro local:

Android
// O mapa do pacote, guardado nos ficheiros da aplicação.
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))

A ter em conta

  • Os pacotes destinam-se aos utilizadores das suas próprias aplicações, não à redistribuição. A menção OpenStreetMap continua visível no mapa.
  • A pesquisa e as tarifas de corrida precisam da rede; tenha isso em conta (guarde em cache os endereços do dia antes de partir).
  • Atualize os pacotes todas as semanas: as estradas, as proibições e os sentidos únicos mudam.