flutter_map_supercluster 4.3.0 copy "flutter_map_supercluster: ^4.3.0" to clipboard
flutter_map_supercluster: ^4.3.0 copied to clipboard

Very fast Marker clustering for flutter_map. Supports efficient adding/removing of Markers.

[4.3.0] #

  • FEATURE: flutter_map 5.0.0
  • FEATURE: latlon2 0.9.0
  • BUGFIX: Fix bug where not providing a controller caused an exception.

[4.2.1] #

  • BUGFIX: Correct the splay cluster's target zoom level which determines how far markers are spread and when their popups are hidden.
  • CHORE: Remove unused code.

[4.2.0] #

  • BREAKING: Remove maxZoom option. It was a workaround for clusters that couldn't be opened because the markers were too close to be unclustered at the map's maxZoom but the implementation is actually flawed in that it will only work if the maxZoom is one greater than the map's maxZoom. Otherwise the behaviour would be undefined.

[4.1.0] #

  • BREAKING: Requires dart 3.

[4.0.0+1] #

  • BUGFIX: Removed example dependency overrides.

[4.0.0] #

  • BREAKING: Animated movement is no longer implemented by this plugin. Animation is now supported using the onClusterTap/onMarkerTap callbacks to trigger animated movement. The examples have been updated to use the flutter_map_animations to drive animated movement.
  • BREAKING: Updated flutter_map_marker_popup to 5.0.0, breaking changes:
    • The popupBuilder, popupSnap and popupAnimation options from PopupOptions are now combined in to a single option: popupDisplayOptions.
    • PopupMarkerLayerOptions.rotationAlignmentFor has been replaced with a new arotateAlignment extension method on AnchorAlign. So PopupMarkerLayerOptions.rotationAlignmentFor(AnchorAlign.top) becomes AnchorAlign.top.rotationAlignment.
  • BREAKING: Popups are now controlled via the SuperclusterController. This is necessary to properly support displaying popups for splayed markers.
  • BREAKING: The following marker rotation options have been removed, they should be set on the markers themselves:
    • markerRotate
    • markerRotateAlignment
    • markerAnchorAlign
  • BREAKING: The wrapIndexCreation optional callback has now been replaced with the required indexBuilder callback. This makes makes the choice between building the index in the root isolate or a separate isolate explicit and some predefined IndexBuilders have been added. See the IndexBuilders documentation for a full explanation.

[3.0.0+1] #

  • DOCS: Improved the SuperclusterLayer clusterDataExtractor documentation to warn about code which cannot be run in a separate isolate.

[3.0.0] #

  • FEATURE: flutter_map 4.0.0
  • FEATURE: Added cluster 'splaying' for clusters whose markers are too close to uncluster at the maxZoom. See clusterSplayDelegate option for more information. The example app has a new page to demonstrate splaying.
  • FEATURE: Added collapseSplayedClusters() to SuperclusterController.

[2.3.0] #

  • FEATURE: Add maxClusterZoom to control the maximum zoom at which clustering will occur.

[2.2.1] #

  • BUGFIX: Don't hide popups too early when zooming out.

[2.2.0] #

  • BREAKING: Cluster builder now includes the cluster position as a parameter.

[2.1.1] #

  • FEATURE: Make clusters always appear above markers.

[2.1.0] #

  • BUGFIX: Prevent animated zooming from breaking when starting an animation before the last one finished.
  • FEATURE: Emit MapEventMove events with an id which indicates the movement state:
    • CenterZoomAnimation.started
    • CenterZoomAnimation.inProgress
    • CenterZoomAnimation.finished

[2.0.1] #

  • BUGFIX: Remove existing points when re-creating the index for SuperclusterLayer.mutable.

[2.0.0] #

  • BREAKING: SuperclusterImmutableLayer is now SuperclusterLayer.immutable.
  • BREAKING: SuperclusterMutableLayer is now SuperclusterLayer.mutable.
  • BREAKING: SuperclusterController's aggregatedClusterDataStream has been replaced with stateStream which contains a new SuperclusterState object containing the aggregated cluster data and the loading state.
  • BREAKING: SuperclusterController's all() method now returns a Future<Iterable<Marker>> instead of an Iterable<Marker> as it is possible that the index is still loading.
  • BREAKING: Creation of the supercluster index is now done in a separate isolate by default using Flutter's compute function. This can be changed with the new wrapIndexCreation option. Note due to how compute works the Marker instances inside the index will be clones of the original Markers and will not be equal to or have the same hashCode as the original Markers. If you need to show popups or perform other actions which required matching against the original Marker instances you should implement an equals and hashcode or use a library like equatable which simplifies doing so.
  • Whilst the index is loading a loading overlay is displayed. This overlay can be customised with the new loadingOverlayBuilder option.

[1.0.0] #

  • BREAKING: Now requires flutter_map 3.0.0 or higher.
  • BREAKING: Renamed the package to flutter_map_supercluster:
    • FlutterMapFastCluster becomes SuperclusterImmutableLayer
    • etc. (see example if you are unsure).
  • Added SuperclusterMutable which allows adding/removing markers efficiently. It is no longer necessary to rebuild the whole index when changing markers.
  • Changing the markers is now done via the respective controller (SuperclusterImmutableController/SuperclusterMutableController).

[0.0.2] #

  • Increase cluster/point search bounds to accomodate the cluster width/height so that the clusters are visible as soon as any part of the cluster is visible instead of when half or more of the cluster is within the bounds.
  • Remove comptueSize option as it made the above change impossible.

[0.0.1] #

  • First release
17
likes
130
pub points
90%
popularity

Publisher

verified publisherbalanci.ng

Very fast Marker clustering for flutter_map. Supports efficient adding/removing of Markers.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (LICENSE)

Dependencies

async, equatable, flutter, flutter_map, flutter_map_marker_popup, latlong2, provider, supercluster

More

Packages that depend on flutter_map_supercluster