Geolocalización y mapas - Construcción de aplicaciones geoespaciales con Amazon Location Service y Amplify

Aprende a construir aplicaciones de geolocalización y mapas usando Amazon Location Service y AWS Amplify.

Demanda de servicios de ubicación y el rol de Amazon Location Service

Las aplicaciones basadas en ubicación como transporte compartido, entrega de comida, seguimiento logístico, búsqueda inmobiliaria y localizadores de tiendas son componentes esenciales del desarrollo web y móvil moderno. Tradicionalmente, Google Maps Platform ha sido ampliamente utilizado para la visualización de mapas y geocodificación, pero desde la revisión de precios de 2018, el costo se ha convertido en un desafío significativo para aplicaciones a gran escala. Amazon Location Service, lanzado en 2020, proporciona seis capacidades principales: visualización de mapas, geocodificación (conversión de direcciones a coordenadas), geocodificación inversa (conversión de coordenadas a direcciones), cálculo de rutas, geofencing y seguimiento de dispositivos. Puedes elegir entre Esri y HERE Technologies como proveedores de datos, dándote acceso a datos de mapas de alta calidad y servicios de ubicación bajo el modelo de seguridad de AWS.

Características principales y ejemplos de implementación de Amazon Location Service

La función de mapas de Amazon Location Service utiliza MapLibre GL JS (web) y MapLibre Native (móvil) como motores de renderizado para incrustar mapas interactivos en aplicaciones. Puedes elegir entre estilos de mapas de Esri y HERE, incluyendo imágenes satelitales, mapas de carreteras y modo oscuro. La API de geocodificación recupera latitud y longitud a partir de texto de dirección, mientras que la API de geocodificación inversa devuelve información de dirección a partir de coordenadas. Soporta direcciones japonesas con precisión hasta el nivel de prefectura, ciudad y número de calle. A continuación se muestra un ejemplo de ejecución de geocodificación con AWS CLI. ```bash aws location search-place-index-for-text \ --index-name MyPlaceIndex \ --text '1-1 Jingumae, Shibuya-ku, Tokyo' \ --language ja \ --region ap-northeast-1 ``` La API de cálculo de rutas computa rutas óptimas desde el origen hasta el destino, proporcionando distancia, tiempo de viaje e indicaciones paso a paso. Soporta modos de viaje en coche, a pie y en camión, con el modo camión teniendo en cuenta las restricciones de altura, ancho y peso del vehículo. La función de geofencing define límites geográficos virtuales y activa eventos cuando los dispositivos entran o salen de esos límites.

Desarrollo full-stack con integración de Amplify

AWS Amplify proporciona integración con Amazon Location Service, facilitando el uso de funciones de ubicación desde aplicaciones frontend. Con la categoría Amplify Geo, puedes agregar visualización de mapas, colocación de marcadores y geocodificación a tu aplicación con solo unas pocas líneas de código. Se proporcionan componentes UI para los principales frameworks incluyendo React, Vue y Angular. Simplemente usa el componente MapView para mostrar un mapa y el componente Marker para colocar puntos y construir una aplicación de mapas interactiva. A continuación se muestra un ejemplo de implementación para mostrar un mapa en React. ```tsx import { MapView, Marker } from '@aws-amplify/ui-react-geo'; import '@aws-amplify/ui-react-geo/styles.css'; export default function StoreLocator() { return ( ); } ``` Al combinar con la autenticación de Amplify (Cognito), puedes construir fácilmente una configuración segura donde solo los usuarios autenticados pueden acceder a las APIs de ubicación. En el backend, las funciones Lambda pueden llamar a la API de Location Service para implementar procesamiento del lado del servidor como gestión de geofences y geocodificación por lotes. La integración con EventBridge permite el procesamiento automatizado activado por eventos de geofence, como enviar notificaciones o actualizar bases de datos. Para una comprensión más profunda del desarrollo frontend con servicios geoespaciales de AWS, los libros especializados en Amazon son útiles.

Valor de utilizar el servicio

Adoptar Amazon Location Service resuelve simultáneamente múltiples desafíos empresariales relacionados con la construcción de aplicaciones basadas en ubicación. Con generosas asignaciones mensuales de capa gratuita, puedes escalar incrementalmente desde un MVP hasta producción. El diseño que evita que los datos de ubicación se envíen fuera de tu cuenta de AWS simplifica el cumplimiento con GDPR y CCPA, reduciendo el costo de redactar políticas de privacidad. El desarrollo rápido del frontend con Amplify Geo, la autenticación segura con Cognito y el procesamiento automatizado del lado del servidor con Lambda y EventBridge permiten la construcción eficiente de aplicaciones de ubicación full-stack. MapLibre GL JS es un motor de renderizado de código abierto, eliminando el riesgo de dependencia del proveedor. La flexibilidad de elegir entre dos proveedores de datos, Esri y HERE, también es una ventaja importante para evitar la dependencia de un proveedor específico.

Precios de Location Service

Los tiles de mapa cuestan aproximadamente $0,04 por 1.000 solicitudes, la geocodificación cuesta aproximadamente $0,50 por 1.000 solicitudes y el cálculo de rutas cuesta aproximadamente $0,50 por 1.000 solicitudes. El seguimiento de dispositivos cuesta aproximadamente $0,05 por dispositivo al mes. Comparado con Google Maps Platform, puedes esperar ahorros de costos del 50-70%. La capa gratuita incluye 500.000 solicitudes de tiles de mapa durante los primeros 3 meses.

Resumen

La combinación de Amazon Location Service y Amplify ofrece ventajas en tres áreas para la construcción de aplicaciones basadas en ubicación: eficiencia de costos, protección de privacidad e integración con el ecosistema de AWS. El diseño que evita que los datos de ubicación se envíen fuera de tu cuenta de AWS simplifica el cumplimiento con regulaciones de privacidad. Al combinar las seis capacidades de visualización de mapas, geocodificación, cálculo de rutas, geofencing y seguimiento de dispositivos, puedes construir aplicaciones geoespaciales para diversos casos de uso incluyendo transporte compartido, logística, bienes raíces y marketing.