A customizable scale bar component for Android maps that works with Google Maps, OSM, MapBox, and Yandex.
MapScaleView is an Android library that provides a customizable scale bar component for map applications. It displays real-world distance measurements on maps and works with multiple map SDKs including Google Maps, MapBox, OpenStreetMap, and Yandex Maps. The component automatically updates based on map zoom level and latitude to show accurate scale information.
Android developers building map-based applications who need to display distance scales. This includes developers working with navigation apps, location-based services, or any app that uses maps for visualization.
Developers choose MapScaleView because it provides a vendor-agnostic solution that works across multiple map SDKs with extensive customization options. It's lightweight, easy to integrate, and offers professional scale bar functionality without requiring custom implementation.
Scale bar for Android Maps (Google Maps, OSM, MapBox, Yandex)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works with Google Maps, OpenStreetMap, MapBox, and Yandex Maps, as stated in the README, providing flexibility across different map providers without vendor lock-in.
Allows detailed styling through XML attributes and code methods for colors, text size, stroke width, fonts, and unit display (meters/miles), with examples provided.
Automatically recalculates and displays accurate distances based on map zoom level and latitude, ensuring the scale bar reflects current map state.
Can be added directly in layout files with customizable attributes like scale_maxWidth and scale_color, simplifying UI setup without extensive code.
Requires developers to manually call update() methods on map camera changes, as shown in the Kotlin example, adding boilerplate code instead of automatic listeners.
Relies on bintray for downloads, which is deprecated, potentially indicating maintenance or accessibility issues for future updates.
Lacks smooth transitions for scale changes; updates are instant, which might not suit apps needing polished, animated interfaces.