Introducing KMP-Places-Autocomplete: A Cross-Platform Solution for Place Search

Nicola Gallazzi
3 min read2 days ago

Compose Multiplatform is revolutionizing the way we build user interfaces for cross-platform applications, and I’m thrilled to introduce KMP-Places-Autocomplete, a library designed to bring seamless place search functionality to your Compose Multiplatform projects.

Whether you’re targeting Android or iOS, KMP-Places-Autocomplete simplifies the integration of Google Places Autocomplete, empowering developers to create a seamless and responsive place search experience with minimal effort.

Why KMP-Places-Autocomplete?

If you’ve ever worked on a project requiring Google Places Autocomplete, you know how challenging it can be to implement a consistent experience across platforms. KMP-Places-Autocomplete addresses these challenges by leveraging the power of Kotlin Multiplatform and Compose Multiplatform to provide:

  • Cross-Platform Compatibility: A unified API for Android, and iOS
  • Ease of Use: Simplified setup and integration, allowing you to focus on delivering great user experiences.
  • Customizability: Fully customizable UI components to match your app’s design language.
  • Performance: Optimized for smooth and efficient operation across platforms.

Key Features

  1. Composable Autocomplete UI: KMP-Places-Autocomplete provides ready-to-use composable components that you can easily drop into your Compose Multiplatform project.
  2. Kotlin Multiplatform Integration: The library supports both Android and iOS targets with minimal platform-specific configuration.
  3. Customizable Results: You have full control over the display and behavior of place suggestions to ensure a seamless user experience.
  4. Built-In Error Handling: The library provides robust error handling to deal with issues such as API limits, network errors, or missing permissions.

How to Get Started

  1. Add the Dependency Include the library in your shared module’s build.gradle.kts:
dependencies { implementation("io.github.ngallazzi:kmp-places-autocomplete:<latest-version>") }

2. Obtain an API Key Sign up for the Google Places API and obtain your API key. Follow the official guide for details.

3. Initialize the Library Configure the library in your shared code:

PlacesAutocomplete.initialize(apiKey = "YOUR_API_KEY")

4. Use the Composable Add the autocomplete composable to your UI:

PlacesAutocompleteView(onPlaceSelected = { place -> println("Selected place: ${place.name}") } )

Example Use Case

Imagine you’re building a travel app that requires users to search for destinations. With KMP-Places-Autocomplete, you can implement this feature in a fraction of the time. Here’s a quick example:

@Composable
fun DestinationSearchScreen() {
PlacesAutocompleteView(
onPlaceSelected = { place ->
// Handle place selection
println("User selected: ${place.name}")
}
)
}
Usage example

This code snippet works seamlessly across Android and iOS, thanks to Kotlin Multiplatform and Compose Multiplatform.

What’s Next?

KMP-Places-Autocomplete is an ongoing project, and I’m excited to hear your feedback and contributions. Feel free to:

  • Explore the GitHub repository
  • Report issues or request features
  • Contribute to the library’s development

Final Thoughts

I hope this library helps you deliver exceptional user experiences in your apps. Happy coding!

If you have questions or ideas, let’s connect! Comment below or reach out on GitHub.

--

--

Nicola Gallazzi
Nicola Gallazzi

Written by Nicola Gallazzi

Android Developer with a true passion for clean code. In love with Kotlin. Former Udacity mentor and code reviewer

No responses yet