compass_maps library
Amazon Location Service v2 en Dart puro, con la forma de Google Maps.
Las 44 operaciones —Places, Routes, Maps, geovallas y rastreo— detrás de un cliente tipado, con tope de gasto, reintentos y sin ninguna dependencia de Flutter.
import 'package:compass_maps/compass_maps.dart';
final maps = CompassMaps(
region: 'us-east-1',
credentials: const ApiKeyCredentials('...'),
language: 'es',
);
final resultados = await maps.places.searchText(queryText: 'gasolinera');
La tesis
El LatLng que devuelve una búsqueda es el mismo que acepta un marcador.
Una ruta calculada se pinta pasándola directamente a una polilínea. Sin
conversiones, sin dos claves y sin dos sistemas de tipos.
Para pintar mapas
Este paquete no dibuja. El widget está en compass_maps_flutter, que
reexporta todo lo de aquí: instalando solo ese ya se tienen las diecisiete
operaciones más el mapa.
Vive aparte para poder probarse sin emulador y para servir en una herramienta de línea de órdenes o un servidor Dart.
Mapa de la biblioteca
| Quiero… | Miro en… |
|---|---|
| empezar | CompassMaps |
| buscar, geocodificar | PlacesClient |
| rutas, isócronas, snap a carretera | RoutesClient |
| zonas y avisos anticipados | GeofencingClient |
| histórico de dispositivos | TrackingClient |
| el estilo del mapa | MapsClient |
| autenticar | Credentials |
| no llevarme un susto en la factura | Budget |
Classes
- AccessPoint
- Un punto por el que se entra o se sale de un sitio.
- Address
- Una dirección postal completa, tal como la desglosa Amazon Location v2.
- AddressComponents
- Los componentes de una dirección, para geocodificar campo a campo.
- AdminArea
- Una división administrativa con código y nombre: provincia, cantón, parroquia, según el nivel.
- AlsBytes
-
Bytes con su tipo de contenido, lo que devuelve
GetStaticMap. - ApiKeyCredentials
- Autenticación con una clave de API de Amazon Location.
- AutocompleteSuggestion
- Una sugerencia de autocompletado.
- BatchItemError
- Un error por elemento en una operación por lotes.
- BatchResult
- El resultado de una operación por lotes.
- BillingUnits
- Cuántas unidades facturables cuesta cada operación.
- Budget
- Tope de gasto por ventana de tiempo, comprobado antes de enviar.
- CompassMaps
- La puerta de entrada a las 44 operaciones de Amazon Location.
- ContactDetail
- Una forma de contactar: teléfono, web, correo o red social.
- Contacts
- Los contactos de un sitio, agrupados por tipo.
- Country
- Un país, con sus dos códigos ISO y su nombre.
- Credentials
- Cómo se autentica una petición a Amazon Location.
- DevicePosition
- La posición de un dispositivo, tal como la devuelve el servicio.
- DevicePositionUpdate
- La posición de un dispositivo, tal como se envía al servicio.
- DirectCredentials
- Base cómoda para escribir una Credentials propia.
- DriverOptions
-
Los descansos obligatorios del conductor, para
optimizeWaypoints. - ForecastedGeofenceEvent
- Un evento de geovalla que todavía no ha pasado.
- ForecastGeofenceEventsResponse
-
La respuesta de
forecastGeofenceEvents. - Geofence
- Una geovalla guardada.
- GeofenceCollection
- Una colección de geovallas.
- GeofenceGeometry
- La forma de una geovalla: un círculo, un polígono o varios polígonos.
-
GeofencePage<
T> - Una página de geovallas o de colecciones.
- GeofencingClient
- Las 12 operaciones de geovallas de Amazon Location.
- HeaderCredentials
- Autenticación con cabeceras que produce una función tuya.
- Highlight
- Qué parte del texto buscado coincidió con qué parte del resultado.
- Isoline
- Una isócrona: el polígono de lo alcanzable dentro de un umbral.
- IsolineGranularity
- Cuánto detalle tiene el polígono de una isócrona.
- IsolineResponse
-
La respuesta de
calculateIsolines. - LatLng
- Un punto geográfico: latitud y longitud en grados decimales.
- LatLngBounds
- Un rectángulo geográfico, definido por sus esquinas suroeste y noreste.
- MapsClient
- Las operaciones de Amazon Location Maps v2.
- MatrixCell
- Una celda de la matriz origen-destino.
- OpeningHours
- El horario de un sitio, con si está abierto ahora.
- OpeningHoursComponent
- Una franja horaria en formato legible por máquina.
- OptimizationWaypoint
-
Una parada que hay que visitar, para
optimizeWaypoints. - OptimizedWaypoint
- Una parada ya colocada en su sitio dentro del recorrido óptimo.
- Place
- Un resultado de búsqueda o geocodificación.
- PlaceCategory
- Una categoría de punto de interés: «restaurante», «gasolinera», «hospital».
- PlacesClient
- Las siete operaciones de Amazon Location Places v2.
- PlaceSearchResponse
- Una página de resultados de búsqueda.
- PositionVerification
- El resultado de comprobar si una posición es de fiar.
- ProxyCredentials
- Autenticación delegada en un backend propio que firma con SigV4.
- QueryRefinement
- Una propuesta de reescritura de lo que se buscó.
- Route
- Una ruta completa entre un origen y un destino.
- RouteAvoidance
- Qué evitar al calcular la ruta.
- RouteGeometry
- La geometría de un tramo, venga como lista de puntos o como polilínea.
- RouteIncident
- Una incidencia en la ruta: obras, accidente, corte.
- RouteLeg
- Un tramo de la ruta: el trozo entre dos paradas consecutivas.
- RouteMatrix
-
La respuesta de
calculateRouteMatrix. - RouteResponse
-
La respuesta de
calculateRoutes. - RoutesClient
- Las cinco operaciones de Amazon Location Routes v2.
- SearchFilter
- Cómo se acota una búsqueda: por rectángulo, por círculo, por país o por varias cosas a la vez.
- SnappedTracePoint
- Un punto de rastro ya pegado a la calle.
- SnapToRoadsResponse
-
La respuesta de
snapToRoads. - StreetComponent
- Una pieza del nombre de una calle, ya separada.
- SuggestResponse
-
La respuesta de
suggest, con sus refinamientos. - SuggestResult
-
Un elemento de la respuesta de
suggest. - Thresholds
- Los umbrales de una isócrona: por tiempo, por distancia o los dos.
- TimeZoneInfo
- La zona horaria de un sitio.
- Toll
- Un peaje de la ruta.
- TracePoint
-
Un punto de un rastro GPS, tal como se envía a
snapToRoads. - Tracker
- Un rastreador: el recurso donde se guardan las posiciones.
- TrackingClient
- Las 15 operaciones de rastreo de dispositivos de Amazon Location.
-
TrackingPage<
T> - Una página de posiciones o de rastreadores.
- TransportOptions
- Ajustes de red compartidos por los tres clientes.
- TravelModeOptions
- Las características del vehículo, que cambian la ruta.
- TravelStep
- Una indicación de navegación.
- WaypointConnection
- El enlace entre dos paradas consecutivas del recorrido óptimo.
- WaypointOptimizationResponse
-
La respuesta de
optimizeWaypoints. - WiFiAccessPoint
- Un punto Wi-Fi visto por el dispositivo, para verificar su posición.
Enums
- AlsService
- Los tres servicios de Amazon Location v2.
- BudgetPolicy
- Qué hacer cuando se agota el presupuesto.
- ForecastedEventType
- Qué le va a pasar a un dispositivo respecto a una geovalla.
- GeometryFormat
- Formato en el que llega la geometría de una ruta o una isócrona.
- IntendedUse
- Si el resultado se va a guardar en tu propia infraestructura.
- MapBuildings
- Cómo se dibujan los edificios.
- MapColorScheme
- Tono del mapa.
- MapContourDensity
- Densidad de las curvas de nivel.
- MapPoiCategory
- Categorías de puntos de interés que se dibujan.
- MapPoiDensity
- Cuántos puntos de interés se dibujan.
- MapStyle
- Catálogo de estilos de mapa de Maps v2.
- MapTerrain
- Cómo se dibuja el relieve del terreno.
- MapTraffic
- Tráfico en tiempo real dibujado dentro del estilo.
- MapTravelMode
- Información adicional de un modo de transporte, dibujada en el estilo.
- PlaceFeature
- Datos extra que se pueden pedir en una operación de Places.
- PlaceType
- Qué clase de sitio es un resultado.
- PositionFiltering
- Cómo decide el rastreador qué posiciones guarda.
- PostalCodeMode
- Cómo se tratan los códigos postales en un autocompletado.
- RouteFeature
- Datos extra que se pueden pedir por tramo de ruta.
- RouteOptimization
- Qué se optimiza al calcular una ruta.
- ScaleBarUnit
- Unidad de la barra de escala de un mapa estático.
- SuggestResultType
-
Qué clase de sugerencia devolvió
suggest. - TrafficUsage
- Cómo se usa la información de tráfico al calcular.
- TravelMode
- Modo de viaje para las operaciones de Routes.
- TravelStepType
- Detalle de las indicaciones paso a paso de una ruta.
- WaypointOptimization
-
Qué se optimiza al reordenar las paradas de
optimizeWaypoints.
Constants
- earthRadiusMeters → const double
- Radio medio de la Tierra en metros, el valor que usa Amazon Location.
Functions
-
decodeFlexiblePolyline(
String encoded) → List< LatLng> -
Decodifica el formato Flexible Polyline de HERE, que es el que devuelve
Amazon Location v2 cuando se pide
GeometryFormat.flexiblePolyline. -
decodeGooglePolyline(
String encoded, {int precision = 5}) → List< LatLng> - Decodifica el formato de polilínea codificada de Google.
-
encodeFlexiblePolyline(
Iterable< LatLng> points, {int precision = 5}) → String - Codifica una lista de puntos en el formato Flexible Polyline de HERE.
Exceptions / Errors
- AlsApiException
- El servicio respondió, pero con un error.
- AlsParseException
- La respuesta llegó con un 200 pero no se pudo interpretar.
- AlsParseExceptionForMatrix
- La matriz llegó con unas dimensiones distintas de las que se pidieron.
- AlsTransportException
- No se pudo hablar con el servicio: sin red, DNS caído, TLS rechazado o se agotó el tiempo en todos los intentos.
- BudgetExhaustedException
-
Se alcanzó el tope de gasto configurado en
Budget. - CompassMapsConfigurationException
- Falta configuración para poder llamar al servicio.
- CompassMapsException
- Raíz de todo lo que este paquete lanza a propósito.