Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Java
  3. Mapsforge

Mapsforge

LGPL-3.0Java0.28.0

A vector map library and writer for rendering OpenStreetMap data on Android and desktop Java applications.

GitHubGitHub
1.4k stars397 forks0 contributors

What is Mapsforge?

Mapsforge is a vector map library and writer designed for rendering OpenStreetMap data efficiently on Android and desktop Java platforms. It solves the problem of displaying high-quality, offline maps by providing a compact binary format and tools for custom map creation and styling. The library enables developers to build applications with fast, ad-hoc map rendering without relying on continuous internet access.

Target Audience

Android and Java developers building mapping applications that require offline functionality, custom styling, or integration of OpenStreetMap data. It is particularly suited for projects needing high-performance map displays in resource-constrained environments.

Value Proposition

Developers choose Mapsforge for its efficient vector map rendering, cross-platform compatibility, and strong offline capabilities. Its unique selling point is the combination of a compact binary map format, flexible XML-based styling, and comprehensive tools for map creation and POI search, all under a permissive LGPL license.

Overview

Vector map library and writer - running on Android and Desktop.

Use Cases

Best For

  • Building offline navigation apps for Android
  • Creating custom-styled maps for Java desktop applications
  • Developing hiking or outdoor apps with terrain visualization
  • Integrating OpenStreetMap data into resource-constrained applications
  • Adding POI search functionality to mapping projects
  • Building mapping tools that require ad-hoc map rendering

Not Ideal For

  • Web-based applications requiring browser-native map rendering
  • Teams needing instant, out-of-the-box map styling without XML configuration
  • Projects relying heavily on real-time data like live traffic or weather overlays
  • iOS-only or cross-platform apps outside the Java ecosystem

Pros & Cons

Pros

Compact Binary Format

Uses a specialized binary file format for fast ad-hoc rendering of OpenStreetMap data, enabling efficient storage and quick map displays without constant internet access.

Cross-Platform Java Support

Runs on Android (API level 10+) and desktop Java, providing consistent mapping capabilities across multiple platforms within the Java ecosystem.

Flexible XML Styling

Supports custom map rendering through XML-based render themes, allowing for detailed and customizable visual design tailored to specific application needs.

Offline Hillshading

Provides high-resolution hillshading capabilities for terrain visualization without an internet connection, enhancing map realism in offline scenarios like hiking apps.

Comprehensive Toolset

Includes tools for compiling custom maps, POI search libraries, and precompiled data, streamlining development for offline mapping applications as highlighted in the documentation.

Cons

Java Ecosystem Lock-in

Limited to Android and desktop Java, excluding web, iOS, and other popular platforms, which restricts its use in cross-platform projects beyond the Java environment.

Steep Learning Curve for Styling

Custom map styling requires creating and managing XML render themes, which can be time-consuming and error-prone compared to simpler, code-based styling APIs in other libraries.

Map Compilation Overhead

Generating custom maps involves using separate tools and following detailed instructions from the README, adding complexity to setup and maintenance compared to pre-built map services.

Frequently Asked Questions

Quick Stats

Stars1,383
Forks397
Contributors0
Open Issues2
Last commit21 days ago
CreatedSince 2014

Tags

#vector#java-library#map-rendering#map#java#map-styling#android-maps#gis#vector-maps#openstreetmap#offline-maps

Built With

A
Android SDK
J
Java

Included in

Java47.5k
Auto-fetched 1 day ago

Related Projects

GraphHopperGraphHopper

Open source routing engine for OpenStreetMap. Use it as Java library or standalone web server.

Stars6,537
Forks1,934
Last commit2 days ago
Spatial4jSpatial4j

LocationTech Spatial4j: A Geospatial Library for Java

Stars961
Forks173
Last commit1 day ago
geohashgeohash

Geohash utitlies in java

Stars434
Forks92
Last commit2 days ago
ArcGIS Maps SDK for Java cArcGIS Maps SDK for Java c

ArcGIS Maps SDK for Java samples

Stars131
Forks126
Last commit9 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub