Skip to main content

API OsmAnd, SDK - Amostras

Caso você queira usar o OsmAnd como uma biblioteca para seu aplicativo, você pode considerar usá-lo via SDK ou via API. Atualmente, essas opções estão disponíveis apenas para Android.

Existem 2 maneiras principais de reutilizar o poder do OsmAnd em seu aplicativo:

  • API AIDL do Android OsmAnd
  • SDK de Biblioteca Completa do Android OsmAnd

Todo o código para 2 amostras está disponível em um único repositório.

Exemplos de SDK

Aqui está a lista de exemplos de como usar o SDK dentro do seu produto.

Mapa simples - como adicionar o mapa a um aplicativo simples.

API AIDL do Android OsmAnd

O conceito principal por trás dessa abordagem é que o aplicativo de destino se comunica com o OsmAnd via AIDL ou API de intents. O OsmAnd possui uma grande variedade de métodos suportados pela interface AIDL. Existem vários aplicativos construídos usando essa abordagem e o conceito principal é que o aplicativo contém várias telas e um botão "Ir para o mapa" por trás da cena, o aplicativo reconfigura completamente o OsmAnd e fornece um retorno de chamada para operações principais, como Navegação, localização GPS adquirida e também inclui elementos de UI, como widgets / botões de gaveta, para que o usuário possa navegar do Mapa de volta para a API de Destino.

A lista de APIs é bastante longa e você pode se familiarizar com ela dentro do Aplicativo de Demonstração.

Prós

  • Sem problemas de Licença - disponível para todos os propósitos possíveis
  • Sempre suportado, versionado e mantido pela Equipe OsmAnd
  • A integração mais fácil requer o menor número de linhas de código
  • Sempre para não misturar a lógica do OsmAnd e a lógica de negócios do aplicativo
  • Menor tamanho (2 MB)

Contras

  • Requer que o aplicativo OsmAnd esteja instalado ao lado do seu aplicativo
  • Número limitado de métodos em comparação com a abordagem do SDK de Biblioteca Completa
  • Capacidades de branding limitadas, embora possa ter um logotipo de marca, perfis de marca, estilos de mapa e etc. no aplicativo OsmAnd
  • Não é possível passar código e elementos de UI para o OsmAnd, então toda a interação só pode ser feita alternando telas entre aplicativos e retornos de chamada

Por favor, verifique o exemplo no repositório Github.

SDK de Biblioteca Completa do Android OsmAnd

A biblioteca completa do OsmAnd reutiliza o OsmAnd completo como uma biblioteca. Basicamente, todo o código / todos os fragmentos de UI fazem parte dessa biblioteca, o que dá a liberdade de usar o que já está presente no OsmAnd, mas requer uma boa compreensão de como é possível combinar várias camadas / serviços.

Prós

  • Não há necessidade de OsmAnd / OsmAnd+ serem instalados
  • Todas as funções / métodos possíveis do OsmAnd estão disponíveis para serem reutilizados
  • Não requer muito código próprio para construir um aplicativo rico

Contras

  • Sem documentação completa
  • Licença de código estrita, exatamente a mesma do código do OsmAnd
  • A API que usa servidores OsmAnd requer um consentimento direto da equipe OsmAnd
  • A API não é estável (porque não é uma API, é basicamente uma biblioteca interna)
  • Tamanho 70-150 MB (possível reduzir removendo o mapa base mundial de 20 MB). Outras manipulações de tamanho podem ser feitas com base na intenção do aplicativo de destino.

Por favor, verifique o exemplo no repositório Github. Aplicativo de demonstração OsmAnd-map-sample.apk.

Licença

Você pode querer verificar novamente a Licença do OsmAnd e a versão completa.