Pronto habrá nuevas opciones para el diseño de mapas disponibles en Google Maps Platform. Esta actualización del diseño de mapas incluye una nueva paleta de colores predeterminada, así como mejoras en la experiencia y la usabilidad del mapa. Todos los diseños de mapa se actualizarán automáticamente en marzo de 2025. Para obtener más información sobre la disponibilidad y cómo habilitar esta actualización antes, consulta Nuevo diseño de mapa para Google Maps Platform.
¿Estás buscando componentes avanzados para agregar a tus mapas? La biblioteca de utilidades del SDK de Maps para Android es una biblioteca de clases de código abierto que resulta útil para diferentes aplicaciones. En el repositorio de GitHub se incluyen las clases de utilidades y una app de demostración en la que se muestra cómo se usa cada clase.
En este video, Chris Broadfoot habla acerca de la biblioteca de utilidades y hace hincapié en la decodificación de polilíneas, la geometría esférica y los íconos de burbujas.
Configuración rápida
Para instalar la biblioteca de utilidades del SDK de Maps para Android, sigue la guía de configuración.
Las utilidades
Cómo importar GeoJSON a tu mapa
Puedes almacenar componentes en formato GeoJSON y usar esta utilidad para renderizarlos como una capa sobre el mapa.
Llama a addLayer() para agregar tus datos de GeoJSON al mapa.
También puedes agregar componentes individuales llamando a addFeature() y pasando un objeto GeoJsonFeature.
Con esta utilidad, puedes convertir objetos KML en formas geográficas y renderizarlas como una capa sobre el mapa. Llama a addLayerToMap() para agregar tu capa al mapa. Puedes acceder a las propiedades de un objeto KML si llamas a getProperties() en cualquier objeto Placemark, GroundOverlay, Document o Folder.
Los mapas de calor permiten a los usuarios comprender la distribución y la intensidad relativa de los datos de un mapa de manera sencilla. En los mapas de calor, en lugar de incluirse un marcador en cada ubicación, se usan colores y formas para representar la distribución de los datos. Crea una clase HeatmapTileProvider y pásale una colección de objetos LatLng que representen lugares de interés en el mapa. Luego, crea un objeto TileOverlay nuevo, pásale el proveedor de mosaicos de mapas de calor y agrega la superposición de mosaicos al mapa.
Cómo personalizar marcadores mediante íconos de burbujas
Agrega un objeto IconGenerator para mostrar fragmentos de información en tus marcadores. Esta utilidad ofrece una manera de hacer que tus íconos de marcadores se asemejen a las ventanas de información, en el sentido de que el propio marcador pueda incluir texto y otro contenido. La ventaja reside en que puedes mantener abierto más de un marcador al mismo tiempo, mientras que en el caso de las ventanas de información solo puedes mantener una abierta a la vez.
También puedes aplicar ajustes de diseño a los marcadores, modificar su orientación o contenido y cambiar su imagen de fondo o NinePatch.
Cómo administrar clústeres de marcadores
ClusterManager te permite administrar varios marcadores con diferentes niveles de zoom. Esto significa que puedes incluir muchos marcadores en un mapa sin que esto dificulte su lectura. Cuando un usuario visualiza el mapa con un alto nivel de zoom, aparecen los marcadores individuales. Cuando el usuario aleja el mapa, los marcadores se agrupan en clústeres para facilitar su visualización.
Puedes mostrar componentes de GeoJSON, KML y clústeres, además de tus propios marcadores, polilíneas y polígonos, todo en el mismo mapa. Si deseas que estas capas sean interactivas, agrega un objeto de escucha de clics a cada capa.
Simplemente crea instancias de las clases MarkerManager, GroundOverlayManager, PolygonManager y PolylineManager, y pásalas a los constructores de GeoJsonLayer, KmlLayer.
ClusterManager cuando las configures. Luego, puedes usar las clases Manager anteriores directamente para agregar tus propios marcadores, polilíneas y polígonos al mapa.
Para obtener información detallada, consulta la documentación sobre la demostración de varias capas para Google Maps en Android.
Cómo codificar y decodificar polilíneas
La clase PolyUtil resulta útil para convertir polilíneas y polígonos codificados en coordenadas de latitud y longitud, y viceversa.
En Google Maps, las coordenadas de latitud y longitud que definen una polilínea o un polígono se almacenan como una cadena codificada. Consulta una explicación detallada sobre la codificación de polilíneas. Puedes recibir esta cadena codificada en una respuesta de una API de Google, como la API de Directions.
Puedes usar PolyUtil en la biblioteca de utilidades del SDK de Maps para Android para codificar una secuencia de coordenadas de latitud y longitud ("LatLngs") en una cadena de ruta de acceso codificada y también para decodificar una cadena de ruta de acceso codificada en una secuencia de LatLngs. Esto garantizará la interoperabilidad con los servicios web de las APIs de Google Maps.
Cómo calcular distancias, áreas y direcciones mediante geometría esférica
Con las utilidades de geometría esférica de SphericalUtil, puedes calcular distancias, áreas y direcciones basadas en latitudes y longitudes. A continuación, se muestran algunos de los métodos disponibles en la utilidad:
computeDistanceBetween(): muestra la distancia, en metros, entre dos coordenadas de latitud y longitud.
computeHeading(): muestra el rumbo, en grados, entre dos coordenadas de latitud y longitud.
computeArea(): muestra el área, en metros cuadrados, de una ruta cerrada en la Tierra.
interpolate(): muestra las coordenadas de latitud y longitud de un punto que se encuentra a una fracción de la distancia entre dos puntos determinados. Puedes usar esto para animar un marcador entre dos puntos, por ejemplo.
Cómo verificar si una ubicación se admite en Street View
La clase StreetViewUtil proporciona funciones para verificar si una ubicación se admite en Street View. Al incluir una panorámica de Street View en una app para Android, puedes evitar errores llamando a esta utilidad de metadatos y agregando únicamente esa panorámica si la respuesta es OK.