Em breve, a Plataforma Google Maps usará a nova estilização de mapas. Essa atualização inclui uma nova paleta de cores padrão e melhorias nas experiências de mapa e na usabilidade. Todos os estilos de mapa serão atualizados automaticamente em março de 2025. Para mais informações sobre a disponibilidade e como ativar logo, consulte Novo estilo de mapa para a Plataforma Google Maps.
Procurando recursos avançados para incluir nos seus mapas? A Biblioteca de utilitários do SDK do Maps para Android é um recurso de código aberto útil com várias classes para você usar em diversos tipos de apps. O repositório GitHub inclui as classes de utilitários e um app de demonstração com o uso de cada classe.
Neste vídeo, Chris Broadfoot fala sobre a biblioteca, enfatizando a decodificação de polilinhas, geometria esférica e ícones de balão.
Configuração rápida
Para instalar a biblioteca de utilitários do SDK do Maps para Android, siga o guia de configuração.
Os utilitários
Importar GeoJSON para seu mapa
Você pode armazenar recursos no formato GeoJSON e usar esse utilitário para renderizá-los como uma camada sobre um mapa.
Chame addLayer() para adicionar seus dados GeoJSON ao mapa.
Você também pode adicionar recursos individuais chamando addFeature(), enviando um objeto GeoJsonFeature.
O uso desse utilitário permite converter objetos KML em formas geográficas e renderizá-las como uma camada sobre um mapa. Chame addLayerToMap() para adicionar a camada ao mapa. Você pode acessar as propriedades de um objeto KML chamando getProperties() em qualquer marcador de local, GroundOverlay, documento ou pasta.
Os mapas de calor permitem que os visualizadores compreendam com mais facilidade a distribuição e a intensidade relativa de pontos de dados em um mapa. Em vez de colocar um marcador em cada localização, eles usam cores e formas para representar a distribuição dos dados. Crie um HeatmapTileProvider, passando uma coleção de objetos LatLng que representam pontos de interesse no mapa. Depois, crie um novo TileOverlay transmitindo o provedor de blocos do mapa de calor e adicione a sobreposição de blocos ao mapa.
Adicione um IconGenerator para exibir snippets de informações nos seus marcadores. Com esse utilitário, os ícones de marcadores têm uma aparência semelhante a janelas de informações, permitindo que o próprio marcador tenha texto e outro conteúdo. A vantagem é a possibilidade de manter mais de um marcador aberto ao mesmo tempo, enquanto apenas uma janela de informações pode ser aberta de cada vez.
Também é possível aplicar estilo aos marcadores, alterar a orientação do marcador e/ou conteúdo e alterar a imagem/9-patch de segundo plano dos marcadores.
Gerenciar clusters de marcadores
ClusterManager ajuda a gerenciar vários marcadores em diferentes níveis de zoom. Isso significa que é possível colocar mais marcadores em um mapa sem dificultar a leitura. Quando um usuário visualiza um mapa em um nível de zoom alto, os marcadores individuais são exibidos no mapa. Quando o usuário diminui o zoom para um nível mais baixo, os marcadores se reúnem em clusters, facilitando a visualização.
É possível exibir elementos de GeoJSON, KML e clusters, além dos seus próprios marcadores, polilinhas e polígonos, no mesmo mapa. Essas camadas também podem ser interativas com a adição de um listener de cliques em cada camada.
Basta instanciar as classes MarkerManager, GroundOverlayManager, PolygonManager e PolylineManager e passá-las para os construtores de GeoJsonLayer, KmlLayer, ClusterManager quando você configurá-los. Você pode usar as classes Manager acima diretamente para adicionar seus próprios marcadores, polilinhas e polígonos ao mapa.
Para ver mais detalhes, consulte a documentação da demonstração de várias camadas no Google Maps para Android.
Codificar e decodificar polilinhas
PolyUtil é útil para converter polilinhas e polígonos codificados em coordenadas de latitude/longitude e vice-versa.
No Google Maps, as coordenadas de latitude e longitude que definem uma polilinha ou um polígono são armazenadas como uma string codificada. Consulte a explicação detalhada da codificação de polilinhas. Essa string codificada é recebida como resposta de uma API do Google, como a API Directions.
Você pode usar o PolyUtil na Biblioteca de utilitários do SDK do Maps para Android e codificar uma sequência de coordenadas de latitude/longitude ("LatLngs") em uma string de caminho codificada e para decodificar uma string de caminho codificada para uma sequência de LatLngs. Isso garante a interoperabilidade com os serviços Web das APIs do Google Maps.
Calcular distâncias, áreas e rumos usando geometria esférica
Usando os utilitários de geometria esférica no SphericalUtil, é possível calcular distâncias, áreas e rumos com base em latitudes e longitudes. Veja a seguir alguns dos métodos disponíveis:
computeDistanceBetween(): retorna a distância, em metros, entre duas coordenadas de latitude/longitude.
computeHeading(): retorna o rumo, em graus, entre duas coordenadas de latitude/longitude.
computeArea(): retorna a área, em metros quadrados, de um caminho fechado no planeta.
interpolate(): retorna as coordenadas de latitude/longitude de um ponto posicionado a uma determinada fração da distância entre dois pontos especificados. Esse método pode ser usado, por exemplo, para animar um marcador entre dois pontos.
Verifique se um local é compatível com o Street View.
A classe StreetViewUtil oferece recursos para saber se um local é compatível com o Street View. Você pode evitar erros ao adicionar um panorama do Street View a um app Android chamando esse utilitário de metadados e adicionando apenas um panorama desse tipo se a resposta for OK.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2024-08-13 UTC."],[[["The Maps SDK for Android Utility Library is an open-source library offering advanced features for enhancing Google Maps in Android applications."],["It provides utilities for importing GeoJSON and KML data, adding heatmaps, clustering markers, managing multiple map layers, and working with polylines."],["The library includes features for customizing markers with bubble icons and performing spherical geometry calculations for distances, areas, and headings."],["Developers can quickly set up the library by following the provided setup guide and access detailed documentation for each utility."],["A demo app is included in the GitHub repository showcasing the usage of the various classes and functionalities within the library."]]],[]]