nativ_maps_flutter 0.2.0
nativ_maps_flutter: ^0.2.0 copied to clipboard
Amazon Location Service with the shape of Google Maps. A MapLibre map widget with clusters, heatmaps and offline regions, plus 44 typed operations.
Changelog #
0.2.0 #
El paquete cambia de nombre. Antes se publicaba como compass_maps y
compass_maps_flutter; ahora es nativ_maps y nativ_maps_flutter. El código
es el mismo y la versión sigue la serie anterior, pero cambian todos los
import y todos los nombres de clase, y eso es lo que justifica subir la
menor en vez de publicar un parche.
Los nombres antiguos quedan en pub.dev marcados como descontinuados, apuntando aquí. No van a recibir más versiones.
Cambiado #
-
Nombres de paquete
Antes Ahora compass_mapsnativ_mapscompass_maps_flutternativ_maps_fluttercompass_maps_googlenativ_maps_googlecompass_maps_sigv4nativ_maps_sigv4 -
Nombres de clase. El prefijo
Compasspasa aNativ, sin excepción:Antes Ahora CompassMapNativMapCompassMapControllerNativMapControllerCompassMapsNativMapsCompassMapsExceptionNativMapsExceptionCompassMapsConfigurationExceptionNativMapsConfigurationExceptionCompassOfflineManagerNativOfflineManager -
El repositorio se movió a
github.com/delioribas/nativ_maps. Las dependencias por git tienen que apuntar a la etiquetav0.2.0de la URL nueva; GitHub redirige la antigua, pero no conviene depender de eso.
Sin cambios, a propósito #
compassEnabledsigue llamándose así. Es la brújula del mapa, no el nombre del paquete: es el parámetro que esperamaplibre_gly es el mismo nombre que usaGoogleMap, así que renombrarlo habría roto la promesa de migrar cambiando un soloimport.- Ninguna firma, ningún parámetro y ningún comportamiento. Solo nombres.
0.1.1 #
Baja el suelo de versiones cinco versiones de Dart. La 0.1.0 exigía
sdk: ^3.13.0 y meta: ^1.19.0, que en la práctica lo dejaban inservible
para cualquier proyecto que no estuviera ya en Flutter 3.47.
Cambiado #
sdk:^3.13.0→^3.8.0. El suelo real, comprobado ejecutando el análisis y las pruebas con Dart 3.8.1: por debajo falla porque el paquete usa elementos con?en literales de colección, estables desde Dart 3.8.meta:^1.19.0→^1.16.0. Este era el bloqueo peor, porque lo fija el SDK de Flutter y no haydependency_overrideque valga: Flutter 3.32 y 3.35 traenmeta1.16.0, la 3.41 trae 1.17.0 y la 3.44 trae 1.18.0. Pedir^1.19.0las excluía todas. Demetasolo se usan@immutable,@internaly@visibleForTesting, las tres disponibles desde 1.2.0.http:^1.6.0→^1.1.0. Solo se usanClient,BaseClient,Request,ResponseyStreamedResponse.
Corregido #
@internalrompía la compilación en Flutter 3.32.package:flutter/foundation.dartno reexporta esa anotación hasta versiones recientes, y los imports demetase habían quitado porque el linter de Flutter 3.47 los marcaba como redundantes. Doce errores deundefined_annotationque solo aparecían en el suelo.
Quitado #
- La dependencia de
collection, que estaba declarada y no se importaba en ningún fichero.
Cambiado, además #
flutter:>=3.41.0→>=3.32.0. Es la primera versión estable que trae Dart 3.8, así que es la que corresponde al nuevo suelo del SDK.
0.1.0 #
Primera versión.
El widget #
NativMapsobre MapLibre Native, con Android e iOS verificados compilando, no declarados.NativMapControllercon los nombres exactos degoogle_maps_flutter:animateCamera,moveCamera,getVisibleRegion,getZoomLevel,getScreenCoordinate,getLatLng,takeSnapshot,setMapStyle.- Las nueve fábricas de
CameraUpdatede Google, másbearingToytiltTo, que Google no tiene.
Superposiciones #
Markercon rumbo, etiqueta, orden de apilado y globo de información.Polylinecon extremos, uniones y patrones discontinuos.Polygoncon agujeros yCirclegeodésico, con el radio en metros.ClusterManagernativo: agrupa el motor, por tesela, no una clase en Dart que recalcula en cada movimiento de cámara.Heatmapcomo capa nativa, con rampa de color, radio e intensidad propios.InfoWindowreimplementada como widget de Flutter: cabe cualquier cosa dentro.- Sincronización agrupada por microtask: añadir 300 marcadores en un bucle es una sola llamada al motor.
- Hit-test nativo con
queryRenderedFeatures, no el más cercano en píxeles.
Sin conexión #
NativOfflineManager con descarga de regiones y progreso observable, tope de
caché, listado, borrado, caducidad automática y fusión de una base preparada.
google_maps_flutter no puede dar esto: sus condiciones prohíben cachear
teselas.
Estilo #
StyleEditor para retocar el estilo en caliente: apagar capas por palabra
clave, cambiar colores, grosores y opacidades, y aplicar propiedades de pintura
a medida.
Las 44 operaciones #
Reexporta nativ_maps entero: instalando solo este paquete se tienen todas.