Mapas são recursos indispensáveis à maioria das aplicações tanto web quanto móveis que lidamos diariamente. E nesse mercado quem reina absoluto é o Google Maps, tanto que a imensa maioria das soluções dispensa o uso de APIs de terceiros para implementar mapas em seus aplicativos. Tal hegemonia se deve principalmente a dois fatores determinantes:
- Tem a maior quantidade de dados à mão: o Google mantém o maior número de informações possível, registradas em seus servidores e provenientes dos mais de 1 bilhão de pessoas que usam os apps do Maps e Waze (a empresa adquiriu o produto em meados de 2013, incrementando ainda mais seu domínio sobre a navegação) em seus dispositivos móveis.
- Tem a maioria dos sensores de trânsito: que na verdade nada mais são que nossos smartphones rodando um de seus apps: Maps ou Waze. Enquanto você dirige de volta para casa na esperança de que os apps te mostrem não só o caminho mais rápido, mas também o que esteja menos congestionado, livre de acidentes ou eventos reportados, o Google, ao mesmo tempo, coleta silenciosamente informações preciosas sobre o trajeto que você está fazendo. Dessa forma, a empresa sabe exatamente como o trânsito está fluindo e pode ajudar todo mundo da melhor forma possível.
Além disso, o Google também combina todas as novas informações que vão chegando junto a um enorme conjunto de dados históricos que ele guardou nos últimos tempos para analisar a saúde de determinadas rotas e, assim, aumentar a precisão dos resultados enviados aos usuários.
Os tipos de usos que podemos fazer com os recursos dos mapas vão muito além de apenas traçar rotas ou mostrar determinados pontos do mapa para o usuário: podemos também traçar quadrantes (em forma de polígonos) destacando áreas inteiras, modificar o relevo do mapa, traçar histórico de pontos no mapa, entre outros.
E quando se trata de implementar tais recursos no universo de aplicativos móveis chegamos num impasse bem comum: o universo do Google Maps não foi pensando para aplicações híbridas, isto é, aquelas que executam em várias plataformas distintas (iOS, Android, Windows Phone, etc.) com apenas um código fonte. Quando precisamos incorporar tais mapas em nossas aplicações há basicamente três caminhos, três SDKs:
- Google Maps Android API: lida com todo o código necessário para importar os recursos do Maps para aplicações Android nativas;
- Google Maps SDK for iOS: lida com o código para importar os recursos do Maps nas aplicações iOS em ambiente Apple somente;
- Google Maps JavaScript API: focada na implementação do Maps em aplicações web que estejam sendo executadas diretamente em um browser. Essa é a melhor opção para aplicações híbridas, que, em sua grande maioria, abstraem o código nativo via WebViews (recursos que simulam um browser dentro do aplicativo), logo, podemos usar qualquer JavaScript que quisermos à vontade.
A Figura 1 traz uma lista dos recursos de mapas fornecidos hoje pelo Google oficialmente aos desenvolvedores de maneira gratuita. Os três primeiros representam os principais e mais usados na comunidade. Além deles, o Google também disponibiliza opções para integrar tais recursos com suas APIs do Places, Street View, Directions (para navegação do usuário), entre outras mais avançadas. Entretanto, a maioria delas se destina apenas ao universo Android, logo você terá algumas limitações se precisar implementar algo do tipo em seus apps de maneira universal.

Figura 1. Lista de APIs do Google para mapas.
Neste artigo trataremos de expor uma série de conceitos importantes referentes aos mapas usando a API do Google Maps para desenvolver focado em dispositivos móveis híbridos, isto é, usando alguma tecnologia que abstraia todo o código nativo. Entre ...
Desbloqueie toda a DevMedia
-
+2000 artigos e vídeos
-
+40 trilhas sobre Front-end, Back-end, IA e muito mais
-
+5000 exercícios práticos
-
Mentorias ao vivo individuais
Confira outros conteúdos:
Programador Mobile
Desenvolvimento de aplicativos para...
Conceitos básicos para programar para...
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.