Listen to historical markers as you travel - Learn about local history as you drive.
[]() []() []() []() []() []() []() []() []() []()
note: screenshots may differ slightly from current version
[]() []() []() []() []() []() []() []() []() []() []()
Join the KMP Developers Group:
Support email:
Secrets Files
*.example
files for proper placement AppSecrets.plist
from within Xcode - in password vault, for google maps account ID's.google-services.json
from Google Cloud Console for google maps account ID's.Add to local.properties
file located in the root directory (create if it doesn't exist):
MAPS_API_KEY=YOUR_KEY
where YOUR_KEY
is your key from previous step;sdk.dir=YOUR_SDK_PATH
where YOUR_SDK_PATH
is a path to Android SDK in your system.From root dir, must run ./gradlew :shared:generateDummyFramework
.
Must run pod update
then pod install
in the iosApp
folder.
Must build the Android app before running the iOS app.
Open project in IntelliJ IDEA or Android Studio and run the androidApp
configuration.
Note: There are many spurious warning messages from the AS IDE and pop-up warnings.
Source: (Code snapshot taken 10/8/23) https://github.com/JetBrains/compose-multiplatform/tree/master/examples/cocoapods-ios-example
KMP Jetbrains Wizard (basic)
KMP Wizard
All kinds of libraries
Settings
Storage (Store5)
Location KMM implementation concept
kSoup - HTML parser for scraping web pages
Painter resources
Material Design 3
Drawers
https://developer.android.com/jetpack/compose/components/drawer
WebView
Screen Orientation
https://www.geeksforgeeks.org/detect-screen-orientation-in-android-using-jetpack-compose/
https://codingwithrashid.com/how-to-get-screen-orientation-in-android-jetpack-compose/
Build Config
Lottie for Compose (Android only?)
https://github.com/airbnb/lottie/blob/master/android-compose.md
Adding markers
Background tracking
Location Visualizer
Problems
Clustering markers not updated
Compose Clustering
Compose Samples
Billing
https://medium.com/androiddevelopers/working-with-google-play-billing-part-2-b859b55426d2
Nice example in compose: https://www.answertopia.com/jetpack-compose/a-jetpack-compose-in-app-purchasing-tutorial/
Book from the author: https://www.ebookfrenzy.com/pdf_previews/JetpackCompose1.4EssentialsPreview.pdf
Handling test licenses: https://play.google.com/console/u/2/developers/7466162782462237210/license-tester
In-app products dashboard: https://play.google.com/console/u/2/developers/7466162782462237210/app/4975423493158681529/managed-products
https://reintech.io/blog/implementing-in-app-purchases-kotlin-google-play-billing-library
https://www.namiml.com/blog/set-up-iap-google-play-android-app
https://developers.google.com/maps/documentation/ios-sdk/utility/setup
Location Manager
Map Utils (clustering)
Long running background location updates
Location picker
Touch map for location
Continuous updates
How to convert iOS UIImage to Compose ImageBitmap in Compose Multiplatform?
Maps stuff
Override MKMapViewDelegateProtocol in Compose Multiplatform to receive pin selected events
How to programmatically select annotation in Google Maps iOS?
https://stackoverflow.com/questions/49156832/ios-google-map-programmatically-select-annotation-swift
SwiftUI iOS 14 MapKit Annotation Tap Gesture (didSelect)
Meet MapKit for SwiftUI https://developer.apple.com/videos/play/wwdc2023/10043/
-[Solved] iOS 17 MapKit: How to use Map(selection:)? -https://www.hackingwithswift.com/forums/swiftui/ios-17-mapkit-how-to-use-map-selection/22886
https://www.hackingwithswift.com/books/ios-swiftui/integrating-mapkit-with-swiftui
STORE stuff
StoreHelper Quick Start: https://github.com/russell-archer/StoreHelper/blob/main/Documentation/quickstart.md
StoreHelper Guide https://github.com/russell-archer/StoreHelper/blob/main/Documentation/guide.md#get-started
Simulate Location
Why mutableStateList
KMM Location services example app
Kotlin Swift - Jetpack Compose iOS, ComposeUIViewController, UIViewControllerRepresentable, UIKitView...
Play store badge generator: https://play.google.com/intl/en_us/badges/
Privacy Policy: https://www.privacypolicygenerator.info/ https://www.privacypolicygenerator.info/download.php?lang=en&token=dhslNflkEHizHHbsBssrE8zM1p5AXwnR
Firebase console: https://console.firebase.google.com/u/0/project/talkingmarkers/overview
Photoshop editor: https://www.photopea.com/
Location Markers
Material Design Palette
This example showcases using Kotlin Multiplatform shared module in Swift as a CocoaPods framework.
The official Kotlin documentation provides more information on working with CocoaPods:
To setup the environment, please consult these instructions.
Choose a run configuration for an appropriate target in IDE and run it.