mapsforge/vtm


OpenGL vector map library - running on Android, iOS, Desktop and browser.

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    
	dependencies {
		implementation 'com.github.mapsforge:vtm:0.25.0'
	}
	dependencies {
		implementation("com.github.mapsforge:vtm:0.25.0")
	}
	<dependency>
	    <groupId>com.github.mapsforge</groupId>
	    <artifactId>vtm</artifactId>
	    <version>0.25.0</version>
	</dependency>

                            
    libraryDependencies += "com.github.mapsforge" % "vtm" % "0.25.0"
        
        

                            
    :dependencies [[com.github.mapsforge/vtm "0.25.0"]]
        
        

Readme


Maven Central License: LGPL v3

V™

<img src="docs/logo/VTM.svg" style="bottom:0;" width="200" align="right">

VTM (Vector Tile Map) was developed within the OpenScienceMap project.

This fork continues VTM development and provides compatibility with Mapsforge.

See the integration guide and changelog. And read through how to contribute guidelines.

If you have any questions or problems, don't hesitate to ask the forum for help.

Features

  • Java map library
  • OpenGL vector-tile rendering
  • Themeable vector layers (render themes)
  • Hillshading from HGT digital elevation model data
  • Support for multiple tile sources:
    • Mapsforge vector maps
    • MBTiles vector & raster
    • Mapbox vector tiles
    • GeoJSON vector tiles
    • OpenScienceMap vector tiles
    • Raster tiles
  • Backends:
  • Building VTM: set ANDROID_HOME environment variable with the Android SDK installation directory

Projects

  • vtm core library
  • vtm-hillshading hillshading
  • vtm-jts overlays
  • vtm-http online tiles
  • vtm-mvt MBTiles
  • vtm-android Android backend
  • vtm-android-example Android examples
  • vtm-gdx common libGDX backend
  • vtm-desktop Desktop libGDX backend
  • vtm-playground Desktop examples
  • vtm-ios iOS libGDX backend
  • vtm-ios-example iOS examples
  • vtm-web HTML5/GWT libGDX backend
  • vtm-web-app HTML5/GWT application

WebGL Demo

OpenScienceMap view of Bremen. Running nextzen2oscimv4 server which contains OSM data in Germany. Notice: nextzen2oscimv4 server is still unstable.

Applications

Maps

Credits

This library contains code from several projects:

  • Android (Apache 2.0): some Matrix code, TimSort (http://source.android.com)
  • libGDX (Apache 2.0): AsyncTask, MathUtils, Interpolation, PixmapPacker (https://github.com/libgdx)
  • mapsforge (LGPL3): based on 0.2.4 (https://github.com/mapsforge/mapsforge)
  • osmdroid (Apache 2.0): some overlay classes (https://github.com/osmdroid/osmdroid)
  • tessellate (SGI Free Software License B 2.0): (https://github.com/cscheid/tessellate)

License

VTM library is under LGPL v3 license, with an important simplification: the constraints mentioned in sections LGPL v3 §4(d) and §4(e) are waived.

This means that you are allowed to convey a Combined Work without providing the user any way to recombine or relink the application and without providing any shared library mechanism.

In other words, you are allowed to include VTM library in your Android application, without making your application open source.

Screenshots

| Android | | ------------- | |VTM| |VTM2|

| Android | iOS | | ------------- | ------------- | |<img src="docs/images/android.png" width="1000">|<img src="docs/images/ios.png" width="1000">|

| Desktop | | ------------- | |Desktop|

| Browser | | ------------- | |Browser|