The first major release, version 1.0, of our open-source Maps Android Utility Library is now available. You can get the latest version on maven.
The Maps Android Utility Library started as a project in 2013 to provide additional functionality not covered by the Maps SDK for Android. These features were designed to be a part of a separate library, rather than included in the core SDK, to prevent bloating the SDK. While the Maps SDK for Android provides several customization options—like displaying markers, ground overlays, or drawing shapes on the map—the utility library allows you to extend these capabilities even further as your app requirements change over time.
For example, with the utility library you can implement marker clustering, customize markers, and add heatmaps to your map.
For a full list of supported features, check out our documentation.
**What’s new in version 1.0**Since version 0.6.2 was released, we’ve been busy improving the library and closed out a total of 57 issues and pull requests for this milestone. We’ve also addressed stability issues and fixed several bugs with KML layers. Here are a few of the things you can now do:
-
Display and interact with multiple map layers.
-
Update items within a cluster.
-
Handle KMZ data types
Do note that this version does have some breaking changes from the previous version so make sure to see the changelog before updating.
**What’s next**Given the growing adoption of developers using Kotlin as their primary programming language of choice for Android development, we are currently working on providing Kotlin-friendly extensions (KTX extensions) for the library. With these extensions, you will soon be able to write idiomatic Kotlin on top of our Maps APIs.
One of the Kotlin-friendly features I’m particularly excited about is the ability to use named parameters and default values. For example, constructing a GeoJsonLayer
instance looks like this in Java:
GeoJsonLayer layer = new GeoJsonLayer(
map,
geoJsonFile,
null,
polygonManager,
null,
groundOverlayManager
);
Just reading the code snippet above, it’s difficult to infer what both null
values represent. With Kotlin extensions, we’ll be able to write the same code as follows:
val layer = GeoJsonLayer(
map = map,
geoJsonFile = geoJsonFile,
polygonManager = polygonManager,
groundOverlayManager = groundOverlayManager
)
This is just the beginning of our Kotlin work, which we will be developing out in the open as of this release. You can follow our progress here, or better yet, contribute a pull request!
**We want to hear from you**Version 1.0 was primarily driven by contributors using this library who found issues and improvements they’d like to make—this milestone would not be possible without them.
If you have any suggestions or encounter any issues with the library, feel free to file an issue or open a pull request.
For more information on Google Maps Platform, visit our website.