MapCompose

A fast, memory efficient Jetpack Compose library to display tiled maps, with support for markers, paths, and rotation.

APACHE-2.0 License

Stars
207

Bot releases are visible (Hide)

MapCompose - 2.12.2 Latest Release

Published by p-lr 7 months ago

  • Add ability to fill a path with a color, as if the path was closed, using the new fillColor parameter of addPath api. The path then looks like a filled polygon. However, click handling is unchanged. So even if fillColor is set, click gestures are only handled along the path.
  • Uses Compose BOM 2024.04.00, Kotlin 1.9.23, Compose compiler 1.5.11
MapCompose - 2.12.0

Published by p-lr 8 months ago

  • Uses Compose BOM 2024.02.00, Kotlin 1.9.22, Compose compiler 1.5.8
MapCompose - 2.11.1

Published by p-lr 9 months ago

  • New reloadTiles api
  • Uses Compose BOM 2023.10.01, Kotlin 1.9.21, Compose compiler 1.5.7
MapCompose - 2.11.0

Published by p-lr 10 months ago

  • New apis to handle long-press on markers and paths: onMarkerLongPress and onPathLongPress
  • โš  The recently added onPathClickTraversal api is renamed onPathHitTraversal which takes an additional HitType parameter. Usages are straightforward to fix.
  • Uses Compose BOM 2023.10.01, Kotlin 1.9.21, Compose compiler 1.5.7
MapCompose - 2.10.1

Published by p-lr 10 months ago

  • Uses Compose BOM 2023.10.01, Kotlin 1.9.21, Compose compiler 1.5.7
MapCompose - 2.10.0

Published by p-lr 10 months ago

  • Add support for path dash pattern. See #104
  • Uses Compose BOM 2023.10.01
MapCompose - 2.9.8

Published by p-lr 11 months ago

This is a bug fix release.

  • Fix #101 : Tiles of size smaller than specified to MapState are not garbage-collected
  • Fix #102 : Performance degradation when using null tiles
  • Uses Compose BOM 2023.10.01
MapCompose - 2.9.7

Published by p-lr 11 months ago

  • New api for getting the idle state as a StateFlow
  • Fix an issue with paths which caused the click to not being detected in some particular cases
  • Uses Compose BOM 2023.10.01
MapCompose - 2.9.6

Published by p-lr 12 months ago

  • Reduce memory usage when subsampling
  • New api for getting the idle state as StateFlow: MapState.idleStateFlow()
  • Uses Compose BOM 2023.10.01
MapCompose - 2.9.5

Published by p-lr 12 months ago

  • Update Compose BOM 2023.10.01
MapCompose - 2.9.4

Published by p-lr about 1 year ago

  • Update Compose BOM 2023.10.00
MapCompose - 2.9.3

Published by p-lr about 1 year ago

  • Update Compose BOM 2023.09.02
MapCompose - 2.9.2

Published by p-lr about 1 year ago

  • Update Kotlin 1.9.10
  • Update Compose BOM 2023.09.00, and Compose compiler 1.5.3
MapCompose - 2.9.1

Published by p-lr about 1 year ago

  • Fix updatePath api: the zIndex parameter is null by default
  • This release is based on Compose BOM 2023.08.00
MapCompose - 2.9.0

Published by p-lr about 1 year ago

  • Added zIndex property for paths
  • Added isPathWithinRange path api. Useful to check whether or not a point is a near a path.
  • Added allPaths helper api to loop over all paths
  • Fixed an issue which would cause all paths to be clickable when only one path is clickable
  • Compose BOM updated to 2023.08.00 and target sdk 34
MapCompose - 2.8.1

Published by p-lr about 1 year ago

  • Fix rare ConcurrentModificationException thrown when adding points to an existing path
  • Fix potential issue when using updatePath with different PathData instances
  • Compose BOM updated to 2023.06.01
MapCompose - 2.8.0

Published by p-lr over 1 year ago

  • Paths can now be clickable. addPath and updatePath apis accept a new clickable parameter.
  • A new onPathClick api works the same way as onMarkerClick:
fun MapState.onPathClick(cb: (id: String, x: Double, y: Double) -> Unit)

On path click, the registered callback provides the id of the path, and the relative coordinates of the clicked point on the path.

  • The demo app is updated to show how to use this new onPathClick api.
  • This release is based on Compose BOM to 2023.05.01
MapCompose - 2.7.1

Published by p-lr over 1 year ago

2.7.1 only slightly changes path join (now having rounded corners).
2.7.0 release notes are important and are reported below:

This feature release is mainly focused on path apis.

  • Bug fix: Path width was set in pixels, not dp. So if the width was set like:
mapState.addPath("pathId", width = 12.dp) { .. }

The path, which was 12px wide in previous versions of the library, will now appear much thicker than it should be.
So after updating, you should set the desired width in dp. The default is 4.dp.

  • Paths rendering is improved. They're no longer made of series of lines (see #85 )
  • Paths are now automatically simplified depending on the scale, using Ramer-Douglas-Peucker algorithm. This improves performance when zooming-out.
  • The simplification can be tweaked using the new simplify parameter for addPath and updatePath apis.
  • A new cap parameter for path apis allows for customizing path start and end cap. The default is Cap.Round.
  • New overload for addPath, taking a builder block with a PathDataBuilder as receiver. This simplifies path creation. The demo is updated.
  • This release is still based on Compose BOM to 2023.05.01
MapCompose - 2.7.0

Published by p-lr over 1 year ago

This feature release is mainly focused on path apis.

  • Bug fix: Path width was set in pixels, not dp. So if the width was set like:
mapState.addPath("pathId", width = 12.dp) { .. }

The path, which was 12px wide in previous versions of the library, will now appear much thicker than it should be.
So after updating, you should set the desired width in dp. The default is 4.dp.

  • Paths rendering is improved. They're no longer made of series of lines (see #85 )
  • Paths are now automatically simplified depending on the scale, using Ramer-Douglas-Peucker algorithm. This improves performance when zooming-out.
  • The simplification can be tweaked using the new simplify parameter for addPath and updatePath apis.
  • A new cap parameter for path apis allows for customizing path start and end cap. The default is Cap.Round.
  • New overload for addPath, taking a builder block with a PathDataBuilder as receiver. This simplifies path creation. The demo is updated.
  • This release is still based on Compose BOM to 2023.05.01
MapCompose - 2.6.1

Published by p-lr over 1 year ago

  • Update Compose BOM to 2023.05.01, which implies Kotlin 1.8.20
  • Behavior change: onMarkerClick callback is no longer invoked for clusters
  • Update kotlinx.coroutines to 1.7.0
  • Some Compose dependencies are declared as api.
Package Rankings
Top 31.69% on Repo1.maven.org
Badges
Extracted from project README
Maven Central GitHub License
Related Projects