MapView is a simple JavaFX 2 control that can render a tile-based map. It offers the following features:
- zooming in/out
- dragging
- centering on double click
- rendering overlays, such as GPS tracks
It works with map systems based on the Mercator projection, such as OpenStreetMap or OpenTopoMap.
To get started, look at the example in the code and the Javadoc. To run the example launch:
mvn install -DskipTests
mvn -f modules/Example/pom.xml -Pjavafx-runAs an historical note, MapView has been derived by Windrose, an old open source GPS navigation project for Java Mobile developed by the same author between 2006 and 2008 (even though in the end only a few lines of code have been retained).
MapView has been developed because a map viewer is needed by a project of the same author and the existing similar components for JavaFX, at the end of 2024, seem to be abandoned or not working. If you need a bug fix or an enhancement, requests, contributions such as patches, pull requests etc... are welcomed.
MapView requires and is tested with JDKs in this range: [21, 22). It is released under the Apache Licence v2.
Please have a look at the project website for a quick introduction with samples, tutorials, JavaDocs and build reports.
In order to build the project, run from the command line:
mkdir it-tidalwave-mapview
cd it-tidalwave-mapview
git clone https://bitbucket.org/tidalwave/mapview-src .
mvn -DskipTestsThe project can be opened with a recent version of the IntelliJ IDEA, Apache NetBeans or Eclipse IDEs.
Pull requests are accepted via Bitbucket or GitHub. There are some guidelines which will make applying pull requests easier:
- No tabs: please use spaces for indentation.
- Respect the code style.
- Create minimal diffs — disable 'on save' actions like 'reformat source code' or 'organize imports' (unless you use the IDEA specific configuration for this project).
- Provide TestNG tests for your changes and make sure your changes don't break any existing tests by running
mvn clean test. You can check whether there are currently broken tests at the Continuous Integration page.
If you plan to contribute on a regular basis, please consider filing a contributor license agreement. Contact us for more information.

