{"id":31943089,"url":"https://github.com/software-mansion/kmp-maps","last_synced_at":"2026-02-16T10:44:26.637Z","repository":{"id":314430584,"uuid":"1054087870","full_name":"software-mansion/kmp-maps","owner":"software-mansion","description":"Universal map component for Compose Multiplatform.","archived":false,"fork":false,"pushed_at":"2025-10-08T16:20:07.000Z","size":4942,"stargazers_count":91,"open_issues_count":7,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-08T18:38:52.784Z","etag":null,"topics":["android","compose-multiplatform","ios","kotlin","maps"],"latest_commit_sha":null,"homepage":"http://docs.swmansion.com/kmp-maps/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/software-mansion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-10T10:51:18.000Z","updated_at":"2025-10-08T12:41:46.000Z","dependencies_parsed_at":"2025-10-01T05:47:39.351Z","dependency_job_id":null,"html_url":"https://github.com/software-mansion/kmp-maps","commit_stats":null,"previous_names":["software-mansion-labs/kmp-maps","software-mansion/kmp-maps"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/software-mansion/kmp-maps","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/software-mansion%2Fkmp-maps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/software-mansion%2Fkmp-maps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/software-mansion%2Fkmp-maps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/software-mansion%2Fkmp-maps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/software-mansion","download_url":"https://codeload.github.com/software-mansion/kmp-maps/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/software-mansion%2Fkmp-maps/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018575,"owners_count":26086404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","compose-multiplatform","ios","kotlin","maps"],"created_at":"2025-10-14T09:48:17.634Z","updated_at":"2026-02-16T10:44:26.062Z","avatar_url":"https://github.com/software-mansion.png","language":"Kotlin","funding_links":[],"categories":["Events and communities","Libraries"],"sub_categories":["🍎 Compose UI"],"readme":"![KMP Maps by Software Mansion](https://github.com/software-mansion/kmp-maps/blob/main/docs/images/cover_image.png?raw=true)\n\n[![Kotlin](https://img.shields.io/badge/Kotlin-2.2.20-blue.svg)](https://kotlinlang.org)\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](./LICENSE)\n![Maven Central](https://img.shields.io/maven-central/v/com.swmansion.kmpmaps/core)\n\n`kmp-maps` provides a unified map component for Compose Multiplatform applications, offering seamless integration with native map APIs on both Android and iOS platforms.\n\n## 🎯 See It in Action\n\nCheck out the sample project in the `/sample` directory for complete usage examples.\n\n|                                                                  iOS (Apple Maps)                                                                   |                                                                  Android (Google Maps)                                                                  |                                                                  Desktop (Google Maps)                                                                  |\n| :-------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------: |:-------------------------------------------------------------------------------------------------------------------------------------------------------:|\n| \u003cimg src=\"https://github.com/software-mansion/kmp-maps/blob/main/docs/images/ios_preview.png\" height=\"600\" style=\"display: block; margin: 0 auto;\"\u003e | \u003cimg src=\"https://github.com/software-mansion/kmp-maps/blob/main/docs/images/android_preview.png\" height=\"600\" style=\"display: block; margin: 0 auto;\"\u003e | \u003cimg src=\"https://github.com/software-mansion/kmp-maps/blob/main/docs/images/desktop_preview.png\" height=\"600\" style=\"display: block; margin: 0 auto;\"\u003e |\n|                                           _Map view with circles, polygon, polylines and markers on iOS_                                            |                                           _Map view with circles, polygon, polylines and markers on Android_                                            |                                           _Map view with circles, polygon, polylines and markers on desktop_                                            |\n\n## ✨ Features\n\n- **Multi-Provider Support:** Android (Google Maps), iOS (Apple Maps or Google Maps), and JVM/desktop (Google Maps JS).\n- **Fully Customizable Markers:** Create markers using standard Compose Multiplatform code.\n- **GeoJSON Support:** Easily render GeoJSON layers with customizable styling capabilities.\n- **Native Rendering:** Powered by underlying native SDKs, ensuring smooth performance, correct gesture handling, and native look and feel.\n- **Rich Geometry Support:** Draw interactive circles, polygons, and polylines with full control over colors, strokes, and fills.\n- **Location Services:** Built-in location permission handling and user location display.\n- **Interactive Callbacks:** Comprehensive event handling for map clicks, camera movements, POI interactions, and marker events.\n- **Compose Multiplatform:** Built with Compose Multiplatform for modern UI development.\n\n## 🚀 Usage\n\n### Import\n\nChoose the appropriate import based on your needs:\n\n- **Native Implementation:** Uses native Google Maps on Android, native Apple Maps on iOS, and Google Maps JS API (via WebView) on desktop.\n\n  ```kotlin\n  import com.swmansion.kmpmaps.core.Map\n  ```\n\n- **Universal Google Maps:** Uses Google Maps SDK on Android and iOS, and Google Maps JS API on desktop.\n\n  ```kotlin\n  import com.swmansion.kmpmaps.googlemaps.Map\n  ```\n\n### Example\n\n```kotlin\n@Composable\nfun MyMapScreen() {\n    Map(\n        modifier = Modifier.fillMaxSize(),\n        properties = MapProperties(\n            isMyLocationEnabled = true,\n            mapType = MapType.NORMAL,\n        ),\n        uiSettings = MapUISettings(\n            myLocationButtonEnabled = true,\n            compassEnabled = true\n        ),\n        cameraPosition = CameraPosition(\n            coordinates = Coordinates(latitude = 50.0619, longitude = 19.9373),\n            zoom = 13f\n        ),\n        markers = listOf(\n            Marker(\n                coordinates = Coordinates(latitude = 50.0486, longitude = 19.9654),\n                title = \"Software Mansion\",\n                androidSnippet = \"Software house\"\n            )\n        ),\n        onMarkerClick = { marker -\u003e\n            println(\"Marker clicked: ${marker.title}\")\n        },\n        onMapClick = { coordinates -\u003e\n            println(\"Map clicked at: ${coordinates.latitude}, ${coordinates.longitude}\")\n        }\n    )\n}\n```\n\n## 📦 Installation\n\nFor installation instructions, platform setup, and configuration details, visit our [dedicated document](https://github.com/software-mansion/kmp-maps/blob/main/docs/INSTALLATION_SETUP.md).\n\n## 📚 API Reference\n\nCheck out our [dedicated documentation page](https://docs.swmansion.com/kmp-maps/) for API reference.\n\n## 🤝 Contributing\n\nWe welcome contributions! Please feel free to submit a Pull Request.\n\n## KMP Maps is created by Software Mansion\n\n[![swm](https://logo.swmansion.com/logo?color=white\u0026variant=desktop\u0026width=150\u0026tag=kmp-maps-github \"Software Mansion\")](https://swmansion.com)\n\nSince 2012 [Software Mansion](https://swmansion.com) is a software agency with\nexperience in building web and mobile apps. We are Core React Native\nContributors and experts in dealing with all kinds of React Native issues. We\ncan help you build your next dream product –\n[Hire us](https://swmansion.com/contact/projects?utm_source=typegpu\u0026utm_medium=readme).\n\nMade by [@software-mansion](https://github.com/software-mansion) and\n[community](https://github.com/software-mansion/kmp-maps/graphs/contributors) 💛\n\u003cbr\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/software-mansion/kmp-maps/graphs/contributors\"\u003e\n\u003cimg src=\"https://contrib.rocks/image?repo=software-mansion/kmp-maps\" /\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftware-mansion%2Fkmp-maps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftware-mansion%2Fkmp-maps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftware-mansion%2Fkmp-maps/lists"}