Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
typealias MapFeature = Feature<Gmc>
Link copied to clipboard
data class MapTile(val id: TileId, val image: Image)
Link copied to clipboard
interface MapTileProvider
Link copied to clipboard
class OpenStreetMapTileProvider(client: HttpClient, cacheDirectory: Path, parallelism: Int = 4, cacheCapacity: Int = 200, osmBaseUrl: String = "https://tile.openstreetmap.org") : MapTileProvider

A MapTileProvider based on Open Street Map API. With in-memory and file cache

Link copied to clipboard
data class TileId(val zoom: Int, val i: Int, val j: Int)
Link copied to clipboard

Properties

Link copied to clipboard
val Rectangle<Gmc>.bottom: Angle

Minimum latitude

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val Rectangle<Gmc>.left: Angle

Minimum longitude

Link copied to clipboard
Link copied to clipboard
val Rectangle<Gmc>.right: Angle

maximum longitude

Link copied to clipboard
val Rectangle<Gmc>.top: Angle

Maximum latitude

Link copied to clipboard

Functions

Link copied to clipboard
fun FeatureGroup<Gmc>.arc(center: Pair<Double, Double>, radius: Distance, startAngle: Angle, arcLength: Angle, id: String? = null): FeatureRef<Gmc, ArcFeature<Gmc>>
Link copied to clipboard
fun FeatureGroup<Gmc>.circle(centerCoordinates: Pair<Number, Number>, size: Dp = 5.dp, id: String? = null): FeatureRef<Gmc, CircleFeature<Gmc>>
Link copied to clipboard
fun FeatureGroup<Gmc>.draw(position: Pair<Number, Number>, id: String? = null, draw: DrawScope.() -> Unit): FeatureRef<Gmc, DrawFeature<Gmc>>
Link copied to clipboard
fun FeatureGroup<Gmc>.geodeticLine(curve: GmcCurve, ellipsoid: GeoEllipsoid = GeoEllipsoid.WGS84, maxLineDistance: Distance = 100.kilometers, id: String? = null): FeatureRef<Gmc, Feature<Gmc>>

A segmented geodetic curve

fun FeatureGroup<Gmc>.geodeticLine(from: Gmc, to: Gmc, ellipsoid: GeoEllipsoid = GeoEllipsoid.WGS84, maxLineDistance: Distance = 100.kilometers, id: String? = null): FeatureRef<Gmc, Feature<Gmc>>
Link copied to clipboard
fun FeatureGroup<Gmc>.icon(position: Pair<Double, Double>, image: ImageVector, size: DpSize = DpSize(20.dp, 20.dp), id: String? = null): FeatureRef<Gmc, VectorIconFeature<Gmc>>
Link copied to clipboard
fun FeatureGroup<Gmc>.line(aCoordinates: Pair<Double, Double>, bCoordinates: Pair<Double, Double>, id: String? = null): FeatureRef<Gmc, LineFeature<Gmc>>
Link copied to clipboard
@Composable
fun MapView(mapState: MapCanvasState, mapTileProvider: MapTileProvider, features: FeatureGroup<Gmc>, modifier: Modifier)

A component that renders map and provides basic map manipulation capabilities

@Composable
fun MapView(mapTileProvider: MapTileProvider, config: ViewConfig<Gmc>, features: FeatureGroup<Gmc>, initialViewPoint: ViewPoint<Gmc>? = null, initialRectangle: Rectangle<Gmc>? = null, modifier: Modifier)

Create a MapView with given features group.

@Composable
fun MapView(mapTileProvider: MapTileProvider, config: ViewConfig<Gmc> = ViewConfig(), initialViewPoint: ViewPoint<Gmc>? = null, initialRectangle: Rectangle<Gmc>? = null, modifier: Modifier = Modifier.fillMaxSize(), buildFeatures: FeatureGroup<Gmc>.() -> Unit = {})

Draw a map using convenient parameters. If neither initialViewPoint, noe initialRectangle is defined, use map features to infer the view region.

Link copied to clipboard
Link copied to clipboard
fun FeatureGroup<Gmc>.pixelMap(rectangle: Rectangle<Gmc>, latitudeDelta: Angle, longitudeDelta: Angle, id: String? = null, builder: (Gmc) -> Color?): FeatureRef<Gmc, PixelMapFeature<Gmc>>
Link copied to clipboard
Link copied to clipboard
fun CoordinateSpace<Gmc>.Rectangle(center: GeodeticMapCoordinates, height: Angle, width: Angle): Rectangle<Gmc>

A quasi-square section.

fun CoordinateSpace<Gmc>.Rectangle(center: Gmc, height: Distance, width: Distance, ellipsoid: GeoEllipsoid = GeoEllipsoid.WGS84): Rectangle<Gmc>

A quasi-square section. Note that latitudinal distance could be imprecise for large distances

Link copied to clipboard
fun FeatureGroup<Gmc>.rectangle(centerCoordinates: Pair<Number, Number>, size: DpSize = DpSize(5.dp, 5.dp), id: String? = null): FeatureRef<Gmc, RectangleFeature<Gmc>>
Link copied to clipboard
fun FeatureGroup<Gmc>.text(position: Pair<Double, Double>, text: String, font: Font.() -> Unit = { size = 16f }, id: String? = null): FeatureRef<Gmc, TextFeature<Gmc>>