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.
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.
Os pacotes offline são fornecidos com o seguimento de frota (oferta mediante acordo). Referência
O que contém um pacote
| Ficheiro | O que é | Com que abrir |
|---|---|---|
map.pmtiles | O mapa vetorial da região até ao zoom 15, os mesmos mosaicos que os SDK Maps desenham | MapLibre Native (pmtiles:// sobre um ficheiro local), ou os SDK Android e iOS |
routing.tar | O grafo rodoviário da região, para o cálculo de percursos no aparelho | Um 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
GET /maps/v1/fleet/offline/regionslista 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ãocustom-<minLng>_<minLat>_<maxLng>_<maxLat>: 0,6° de largura no máximo, numa grelha de 0,05°.GET /maps/v1/fleet/offline/packs/{region}devolve o manifesto. Um202significa que está a ser construído: volte a pedir apósRetry-Aftersegundos.- Transfira cada ficheiro a partir do seu
urlcom a sua chave. As transferências podem ser retomadas com o cabeçalho HTTPRange, e oETagé a impressão digital do ficheiro.
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:
// 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.