mapjfx provides a JavaFX8 region containing a map, allowing to zoom, pan, and use markers.
Copyright 2014-2018 Peter-Josef Meisch (email@example.com)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
building the library
this project is built using mvn. The library jar is created by running
build status on travis-ci
running the test application
the project contains a test application which is mostly used during development. The source is found in the test sources (src/test/java). It is compiled and executed with the following command (no need to build the library first):
mvn test exec:java -Dexec.mainClass="com.sothawo.mapjfx.TestApp" -Dexec.classpathScope=test
The test application does not contain all the features, to have that, check mapjfx-demo
- add MAP_POINTER_MOVED event
- OfflineCache is now a Singleton, so one aplication can have multiple maps and have them use a common cache.
- report changes in the map's extent
- use OpenLayers 4.6.5
- use java 9 on travis for building (source and target class version is still set to 1.8)
- add Automatic-Module-Name to generated manifest
- added stamen watercolor type as additional map type
- moved deployment to travis build
- use OpenLayers 4.6.4
- added MARKER_ENTERED, MARKER_EXITED, MAPLABEL_ENTERED, MAPLABEL_EXITED events (thanks to skinkie)
- MapLabel.setCssClass(String) now is observed and changes a MapLabel's style directly on the map.
- use OpenLayers 4.4.0
- use OpenLayers 4.3.2
- use OpenLayers 4.2.0
- add possibility to defined filters for excluding URLs from caching
- do not use offline cache as default.
- fixes to the caching code
- added extent selection by cmd-drag (Mac OSX) / ctrl-drag (Windows)
- use OpenLayers 4.0.1
- added support for WMS servers
- use OpenLayers 3.20.1
- added mousedown, mouseup, doubleclick and rightclick events to labels and markers
- use OpenLayers 3.19.2
- use OpenLayers 3.18.2
- added events for clicks on markers and labels.
CoordinateEvent, replaced by the classes in the com.sothawo.mapjfx.event package
- bugfixes and improvements
- use OpenLayers 3.17.1
- removed MapQuest see ol issue #5484
- fixed faulty implementation of Extent fields.
- added possibility to clear the cache directory
- improved handling of openstreetmap.org tiles
- implemented caching of the files loaded from the web (map images) for faster access and offline usage.
- use OpenLayers 3.14.2
- use OpenLayers 3.13.1
- added Label objects to the MapView
- use OpenLayers 3.11.2
- new MapTypes supported: BingMaps Road and BingMaps Aerial (BingMaps API key needed, see BingMaps Portal
- use OpenLayers 3.10.0
- the fix in 1.4.7 did not work in Windows. Fixed in 1.4.8.
- fix for WebView not loading css and js files when html is loaded from a jar; introduced with JDK 1.8u60.
- update to OpenLayers 3.9.0
- update to OpenLayers 3.4.0
- fixed potential memory leaks
- internal reimplementation of Markers
- fix for interruption of 1.4.1 release process
- Bugfix: wenn MapType was set before the MapView was initialized, the setting was ignored
- display of lines/tracks
- fixed javadoc errors
- internal code review and cleanup
- switched to OpenLayers 3.1.1
- marker images cannot be dragged anymore
- open the links from the OpenLayers attributions in the default browser
- removed WebView context menu from MapView
- added marker support
- added singleclick feedback as JavaFX event with map coordinate
- set the map's extent, so that a collection of coordinates is visible
- API modifications for fluent interface
- possibility to switch between map types
- added MapType enum and property
- animationDuration type changed to int
- removed unnecessary code
- reworked MapView constructor to enable SceneBuilder compatibility
- removed slf4j-api dependency and switched to java logging to enable SceneBuilder compatibility
- readme correction
- javadoc corrections
- display a map in a JavaFX8 region
- center of map is provided as JavaFX property
- zoom of map is provided as JavaFX property
- optional animation of center and zoom changes when the properties are changed