N-Ways
Documentação para programadoresVir do Google

Passar do Google Maps Platform para o N-Ways

O mesmo modelo de projetos, chaves restringidas e quotas, com mapas, endereços e percursos feitos para a África Ocidental. O que corresponde a quê, e como migrar uma API de cada vez.

Nesta página

Se a sua aplicação já usa o Google Maps Platform, o essencial do que sabe continua válido: o N-Ways usa o mesmo modelo de projetos, chaves restringidas, quotas por API e motivos de erro. Este guia faz corresponder cada elemento ao seu equivalente N-Ways e mostra o que muda no seu código. Pode migrar uma API de cada vez.

Nota:

O N-Ways não está afiliado à Google. O Google Maps Platform só é citado aqui para o ajudar a migrar; os seus produtos são descritos por palavras nossas. Consulte a documentação da Google para saber como funcionam.

Porquê mudar

  • Os endereços que se usam aqui: os códigos postais NIPOST até ao edifício, os códigos GhanaPost GPS, os pontos de referência e as alcunhas.
  • A forma como as pessoas se deslocam aqui: percursos de mototáxi (okada), keke e danfo que respeitam as zonas proibidas, barcos, comboios, passagens de fronteira e tarifas em naira, em cedis, em F CFA, em dólares liberianos, em francos guineenses, em leones e em escudos cabo-verdianos.
  • Uma fatura mais leve: uma franquia gratuita para cada API todos os meses, e preços que são uma fração dos das plataformas mundiais, faturados em moeda local.
  • Uma tecnologia cartográfica aberta: os mapas assentam em MapLibre e em mosaicos vetoriais, por isso pode mudar o seu estilo e mostrar os dados N-Ways em qualquer mapa, com a menção.

Conceitos

Google Maps PlatformN-WaysO que muda
Projeto na cloud com faturaçãoProjetoUm projeto por aplicação ou por cliente; sem conta de faturação separada. Crédito pré-pago ou fatura.
Ativar cada APIO plano do projetoSem passo de ativação: um projeto pode chamar as API do seu plano, e cada chave pode ser ainda mais restringida.
Chave de APIChave de API (nw_…)Enviada com key= ou com o cabeçalho X-NWays-Api-Key.
Restrições de aplicaçãoRestrições de aplicaçãoOs mesmos quatro tipos: sites (com carateres universais), pacote Android e SHA-1, bundle ID iOS, endereços IP. Um só tipo por chave.
Restrições de APIRestrições de APIAssinale as API que uma chave pode chamar.
Quotas e limitesLimites de débito e limites diáriosPor chave e por API, e, se quiser, para todo o projeto. Quotas e limites
Máscaras de camposfields=Escolha os campos de que precisa; para os lugares e os percursos, isso também determina o escalão de preço.
Utilização gratuita mensalChamadas gratuitas para cada APIContadas por API, não um crédito partilhado.
Tokens de sessão para o preenchimento automáticoTokens de sessãoO mesmo princípio: um token por pesquisa, terminado pela escolha de um resultado.

API

Se usaNo N-Ways, useEstado
Maps JavaScript APISDK Maps para a web (@nways/maps, baseado em MapLibre GL JS)Disponível
Maps SDK for Android / iOSN-Ways Maps para Android e para iOS (baseado em MapLibre Native)Disponível
Map Tiles APIAPI de Mosaicos (mosaicos vetoriais, PMTiles)Disponível
Maps Static APIMapas estáticosVer a respetiva página
Geocoding APIGeocodificação e geocodificação inversaDisponível
Places API: nearby, text search, detailsPesquisa e lugaresDisponível
Places AutocompletePreenchimento automáticoVer a respetiva página
Address Validation APIValidação de endereçosVer a respetiva página
Routes API: compute routesPercursosDisponível
Routes API: route matrixMatriz de percursosVer a respetiva página
Route Optimization APIOtimização de percursosVer a respetiva página
Soluções de frota e de entrega de última milhaSeguimento de frota e webhooksVer a respetiva página
Camada de trânsito (Traffic layer)Trânsito (GeoJSON) e o feed de trânsitoDisponível
Street View, Elevation, Roads, Air Quality, Solar, PollenSem equivalenteMantenha-os onde estão

O N-Ways tem também API sem equivalente na Google: estimativas de tarifas para táxis, okadas, kekes, autocarros e barcos, a pesquisa de códigos postais NIPOST e GhanaPost, e percursos que respeitam as proibições de okada e keke.

Um mapa numa página web

Os mapas N-Ways são mapas MapLibre GL JS. As principais diferenças em relação ao mapa JavaScript da Google:

  • As coordenadas escrevem-se [longitude, latitude] em MapLibre (a ordem GeoJSON), e não { lat, lng }. É a mudança que apanha toda a gente: troque-as.
  • Os níveis de zoom são muito parecidos; o MapLibre aceita zooms fracionários.
  • Marcadores: new maplibregl.Marker().setLngLat([lng, lat]).addTo(map). As janelas de informação são maplibregl.Popup.
  • As formas (polilinhas, polígonos, círculos) são fontes GeoJSON com camadas line ou fill, desenhadas pela GPU: mesmo aos milhares, continuam fluidas.
  • Eventos: map.on('click', (e) => e.lngLat); o mapa está pronto no momento de map.on('load').
index.html
<link rel="stylesheet" href="https://nways.ng/sdk/v1/maplibre-gl.css" />
<div id="map" style="height: 480px"></div>
<script type="module">
  import { createMap, maplibregl } from 'https://nways.ng/sdk/v1/nways-maps.standalone.js'

  // Lagos, Allen Avenue. Atenção à ordem: primeiro a longitude.
  const map = createMap({ container: 'map', key: 'A_SUA_CHAVE_API', center: [3.3515, 6.6018], zoom: 15 })
  new maplibregl.Marker({ color: '#0b7a3e' })
    .setLngLat([3.3515, 6.6018])
    .setPopup(new maplibregl.Popup().setText('Ponto de recolha'))
    .addTo(map)
</script>

Serviços web

  • Os erros são erros HTTP: uma chave recusada recebe 401 ou 403 com um reason (API_KEY_HTTP_REFERRER_BLOCKED, API_KEY_SERVICE_BLOCKED…), nunca 200 com uma palavra de estado. Muitos motivos têm o mesmo nome que na Google. Erros
  • Os pontos nos pedidos escrevem-se { "lat": …, "lng": … } ou lat,lng nos parâmetros; as linhas nas respostas são pares GeoJSON [lng, lat], não polilinhas codificadas, por isso vão diretamente para um mapa.
  • As distâncias e as durações são números simples: distanceM em metros, durationS em segundos.
  • Línguas: lang=en ou lang=fr.
  • Os identificadores são cadeias que pode guardar para sempre (osm:n501540907, ghanapost:GA-183-8164); não são identificadores de lugar da Google, por isso é preciso voltar a encontrar cada lugar uma vez, pelo nome ou pela posição.

Preparar a migração

  1. Obtenha um projeto e chaves, uma por site, aplicação e servidor, restringidas da mesma forma que as suas chaves Google. Primeiros passos
  2. Comece pelo lado do servidor: a geocodificação e os percursos são os mais fáceis de mudar e de comparar, atrás do seu próprio backend.
  3. Use os dois durante uma semana: envie uma parte dos pedidos para o N-Ways e compare as respostas, as horas de chegada estimadas e a opinião dos seus estafetas.
  4. Mude os mapas nas suas aplicações web e móveis, mantendo a menção visível. Atribuição
  5. Substitua os identificadores guardados: substitua os identificadores de lugar da Google por identificadores N-Ways à medida que os clientes voltam, ou de uma só vez, pela posição.
  6. Defina limites em cada chave para que um erro não possa fazer disparar a fatura, e depois desative as chaves Google que já não usa.

Ajuda para migrar

Indique-nos as API que usa e os seus volumes mensais em hello@nways.ng: ajudamos a preparar a migração e a estimar a sua fatura.