Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
151 lines (102 sloc) 9.14 KB

gwt-leaflet

Build Status

A lightweight mapping alternative to popular mapping APIs like Google Maps and OpenLayers.

The library uses Leaflet, an open-source javascript library for mobile-friendly interactive maps by CloudMade, to implement a collection of mapping Widgets which GWT projects can use to implement mapping capabilites on the client-side of a GWT application. The Leaflet API is a third-party javascript and is integrated with GWT as Java classes using JSNI and Type Overlays.

Features

Warning: This project is in flux. API, module structure and names can change at any time!

Milestones

  • v0.1 (Medio Sep 2012) - Core parts of Leaflet API exposed
  • v0.2 (Primo Nov 2012) - All relevant parts of Leaflet API exposed, start publishing snapshots (maven + jars)
  • v0.3 (Ultimo Dec 2012) - Widgets: geolocation (field), first official release (maven + jars).
  • v0.4 (Ultimo Sep 2015) - GWT upgraded to 2.7.0. Added leaflet.draw plugin.

Core Module

Dependency: Leaflet 0.7.3

Following parts of Leaflet API are implemented:

Widget Module (GWT)

  • MapWidget - GWT Widget displaying a Map instance (available from WindowBuilder Editor palette)

Proj4 Module (GWT)

Dependency: Proj4Leaflet master/74a5a8b170ff58e635cba139cfaa25cd4cd5d022 (git)

  • Proj4 - Custom (local) CRS factory plugin to Leaflet (Proj4Leaflet)

Search Module (GWT)

Dependency: leaflet-search master/3b717c6ff2bbd5ad19ba4f851c152f67ca62b97d (git)

Label Module (GWT)

Dependency: Leaflet.label version 0.2.1 (git)

  • Leaflet label - Simple label plugin for Leaflet (Leaflet.label)

Draw Module (GWT)

Dependency: Leaflet.draw version 0.2.3 (git)

  • Leaflet draw - Enables drawing features like polylines, polygons, rectangles, circles and markers through a very nice user-friendly interface with icons and hints. (Leaflet.draw)

Ellipse Module (GWT)

Dependency: Leaflet.ellipse version 66b8c2f23e833eed08389157f410cd735f8a3275 (git)

  • Leaflet ellipse - A basic ellipse type for Leaflet, a JS library for interactive maps. Allows specification of semi-major and semi-minor axis as well as a tilt degrees from west. (Leaflet.ellipse)

Measure Module (GWT)

Dependency: Leaflet.MeasureControl version 97016995b7e15ccea62c6b3c84cddfd9d1a35f8f (git) Dependency: Leaflet.draw version 0.2.3 (git)

Coordinates Module (GWT)

Dependency: Leaflet.Coordinates version 0.1.4 (git)

  • Leaflet Coordinates - A Leaflet plugin to view mouse coordinates. Also the user can change the coordinates and get a marker on that position viewing the coordinates. (Leaflet.Coordinates)

Example

Goto gwtl-example.appspot.com to see a running example of the GWT example project.

Development

This Git project structured as a Maven multi-gwt-module project setup, (see working with maven) and is developed using

Ensure that these are all installed and ready before you continue. To install from scratch, just

  1. Download and install Eclipse
  2. Download P2 software file import file and start Eclipse
  3. Open File -> Import -> "Install Software Items from File" wizard
  4. Enter path to p2f file downloaded in step 2
  5. Check "Contact all update sites during install to find required software"
  6. Press enter and follow the instructions.

When you are all done, just (linux)

  1. fork this repo on github
  2. clone the fork locally - git clone https://github.com/<username>/gwt-leaflet.git
  3. change directory to - cd gwt-leaflet/src
  4. and run the command - mvn package

which should automatically download some stuff for you and prepare the projects for import into Eclipse.

  1. Switch to Eclipse and select File -> Import...
  2. Select Maven -> Existing Maven Projects
  3. Select Browse ... -> gwt-leaflet/src
  4. Finish

which should import all projects into current workspace.

Reference

You find more information in the developer guide.