maplibre_gl_platform_interface 0.27.0
maplibre_gl_platform_interface: ^0.27.0 copied to clipboard
A common platform interface for the maplibre_gl plugin. This package is only intended to be used by the maplibre_gl package.
0.27.0 #
See the top-level CHANGELOG for full details.
The MapLibrePlatform members added below have no default implementation, so an external platform package, or a mock in tests, has to add them. Apps calling the API are unaffected.
Added #
shapeStyleProperties()normalizes a style entry into the shape every platform answers with, sogetLayerProperties()andgetSourceProperties()agree. JavaScript has one number type, so integral values become ints and only genuinely fractional ones stay doubles; read numbers asnum(#513).getLayerProperties(layerId)andgetSourceProperties(sourceId), returning a layer's or source's properties as a style-spec map, ornullfor an unknown id (#513).pauseMap()andresumeMap(), forwarded over the channel asmap#pauseandmap#resume, to stop and restart rendering for a map that is alive but off screen (#805).LocationEnginePlatforms.iOSacceptsintervalMsandpulseWindowMs, forwarded to the iOS location engine so GPS can be pulsed instead of tracked continuously (#901).- An app-provided location source. Adds
LocationSourcewithManualLocationSourceandPlatformLocationSource, theManualLocationUpdatemodel, andsetManualLocation, forwarded over the channel aslocationComponent#setManualLocation. Which source a map uses arrives as thelocationSourcekey in the map options (#840). MapLibreJsSource, describing where the web implementation loads MapLibre GL JS from. It lives here so apps can configure it throughmaplibre_glwithout importing the web package; Android and iOS ignore it (#928).MapLibreGlobalPlatform, for calls global to the plugin rather than tied to a single map, withMapLibreGlobalMethodChannelas the default. The web package replaces the instance at registration, routingpreWarm()andensureWebLibraryLoaded()to the web implementation (#928).setFeatureState,removeFeatureStateandgetFeatureStateare forwarded over the channel instead of throwingUnimplementedError, so feature state works on Android. iOS throws anUnsupportedErrornaming the platform (#889).getClusterExpansionZoom,getClusterChildrenandgetClusterLeaves, forwarded over the channel assource#getCluster*. Each takes the cluster's integercluster_id; the two feature calls decode a list of JSON strings, asquerySourceFeaturesdoes (#896).setTrackingCameraOptions, forwarded over the channel aslocationComponent#setTrackingCameraOptionswith atiltand an optionalduration. It returns whether the pitch animation ran (#888).
Fixed #
- A large GeoJSON payload is encoded on a background isolate instead of blocking the UI for the whole encode. Smaller ones keep the faster synchronous path, and writes to the same source id stay in the order they were issued (#366).
0.26.2 #
No platform-interface changes; version aligned with the maplibre_gl 0.26.2 release. See the top-level CHANGELOG for full details.
0.26.1 #
See the top-level CHANGELOG for full details.
Fixed #
- Android: Forward
textureModethrough the method channel so hybrid composition can enable it when necessary (#816).
0.26.0 #
See the top-level CHANGELOG for full details.
Breaking #
initialCameraPositionis now nullable to support style-defined camera options (#769).LocationEnginePlatformsunnamed constructor is now private. Use.android(),.iOS(),.web(), or.defaultPlatform.- Removed
LocationEngineAndroidProperties. All fields flattened intoLocationEnginePlatformswith nullable platform-specific fields. MapLibrePlatform.easeCameragained an optional named parameterCameraAnimationInterpolation? interpolation. Callers are unaffected, but subclasses that overrideeaseCameramust add the new parameter to their signature (#789).
Added #
- Cross-platform map snapshot functionality via
takeSnapshot()(#726). featureTapsTriggersMapClickoption to control whether feature taps also trigger map click callbacks (#729).- Feature state management APIs (
setFeatureState,getFeatureState,removeFeatureState) (#718). - Platform-specific constructors:
LocationEnginePlatforms.android(),.iOS(),.web(). - iOS and web serialization support in
toList(). - Expanded unit tests for platform-specific serialization and constructor behavior.
CameraAnimationInterpolationenum (linear,easeInOut,easeOut,fastOutLinearIn) and correspondinginterpolationparameter on thecamera#easemethod channel (#789).
Changed #
- Updated to align with main package v0.26.0.
0.25.0 - 2026-01-07 #
See the top-level CHANGELOG for full details.
Changed #
- Updated to align with main package v0.25.0.
- No breaking changes to the platform interface in this release.
0.24.1 #
See top-level CHANGELOG.md
0.23.0 #
Note: This release has breaking changes.
see top-level CHANGELOG.md
newer releases #
see top-level CHANGELOG.md
0.15.1, May 24, 2022 #
see top-level CHANGELOG.md
0.15.0, Oct 26, 2021 #
see top-level CHANGELOG.md
0.14.0, Oct 14, 2021 #
Breaking changes: #
- Replace example
styles #25 (also
see #21)
- The built-in constants for specific styles were removed. You can continue using these styles by using the styles' URL
0.13.0, Oct 6, 2021 #
🎉 The first release of flutter-maplibre-gl with the complete transition to MapLibre libraries. 🎉
Changes cherry-picked/ported from tobrun/flutter-mapbox-gl:0.12.0 #
- Batch creation/removal for circles, fills and lines #576
Changes cherry-picked/ported from tobrun/flutter-mapbox-gl:0.11.0 #
- Add batch mode of screen locations #554
Below is the original changelog of the tobrun/flutter-mapbox-gl project, before the fork. #
0.10.0, February 12, 2020 #
- Added web support for fills #501
- Add heading to UserLocation and expose UserLocation type #522
- Update tracked camera position in camera#onIdle #500
- Improved Image Source Support #469
0.9.0, October 24, 2020 #
- Breaking change: CameraUpdate.newLatLngBounds() now supports setting different padding values for left, top, right, bottom with default of 0 for all. Implementations using the old approach with only one padding value for all edges have to be updated. #382
- Add methods to access projection #380
- Add fill API support for Android and iOS #49
- Listen to OnUserLocationUpdated to provide user location to app #237
- Add support for custom font stackn in symbol options #359
- Basic ImageSource Support #409
- Get meters per pixel at latitude #416
0.8.0, August 22, 2020 #
0.7.0 #
- Initial version