Leaflet slippy map integration for Vaadin

V-Leaflet provides a Java API for Leaflet, which is a popular slippymap implementation, similar to OpenLayers or Google Maps. Although it might not have all bells and whistles of OpenLayers, Leaflet is lightweight and shines on mobile devices. Also it has an extensive set of add-ons, of which many are available for Vaadin too.

See full-stack usage example, based on Spring Data JPA and spatial extensions of Hibernate.

Add-on supports geometry types from the popular JTS Topology Suite. Those can be used as an alternative API to control V-Leaflet components and make it simpler to integrate with advanced GIS systems.

Since version 0.6.0 editing features have been moved to separate v-leaflet-draw add-on. Depend on that if you need the more advanced editing features. There are also some existing Field implementations for JTS geometry types to make bean binding simpler and a utility class to make non automatic integrations easier.

Why should you use Leaflet over its "competitors" like Google Maps or OpenLayers?

  • liberal business friendly licensing (free for intranet apps and "non public apps", unlike Google Maps)
  • Lightweight JS core that works well on mobile devices.

With this Vaadin add-on you can use LeafletJS with the server side Java you know best. The add-on also has a preliminary support for Leaflet.Draw plugin. See instructions for its usage from the project page.

Big thanks to major contributors like ocatavm, willtemperlay & jtreml !

Major versions/branches

  • 1.X series: Vaadin 7
  • 2.X series: Vaadin 8
  • 3.X series: Vaadin 8 with JTS dependency from LocationTech project
  • LeafletJS for Flow: A separate experimental Vaadin 10+ version, lacking most of the features ATM. When that develops to decent shape, will be marged to V-Leaflet 4.0 or something.

Install

Link to this version
StableReleased 13 August 2021Apache License 2.0
Framework Support
Vaadin 8.0+
Also supported:
Vaadin 7 (1.0.8)
Browser Independent
Install with
Release notes - Version 3.0.1