About a month after its 1 year birthday, libchamplain hit the 0.4 mark – the first stable release of this new version. It’s a Clutter based ClutterActor and Gtk+ widget to display street maps, cycle maps or other maps. It comes with eye candy.
Special thanks to all contributors to this release (in chronological order of first contribution):
Pierre-Luc Beaudoin, Jonathon Jongsma, Lorenzo Masini, Packz Enoch, Thomas Van Machelen, Anders M-Pedersen, Stephane Delcroix, Denk Padje, Mike Sheldon, Emmanuel Rodriguez, Emmanuele Bassi, Lionel Dricot, Simon Wenner, Kritarth Upadhyay, Debarshi Ray, Paulo Cabido, Sjoerd Simons, Victor Godoy Poluceno, Javier Jardón, Patryk Zawadzki, Sebastian Reichel, Tim Horton, Frederic Peters, Cosimo Cecchi, Vincent Untz, Felix Riemann
Libchamplain in action in Eye of Gnome,
displaying a picture of Lübeck, Germany.
New in this release (since 0.2.10)
- Support for custom map sources: embedding apps can define their own map sources and provide tiles for libchamplain to display. This includes a way to list available map sources.
- Zoom on double click is now configurable.
- View keeps centred when you resized the view.
- A way to convert screen coordinates to map coordinates: lets you interact with the map and its markers.
- Cache tiles: downloaded tiles are cached. The cache is intelligently validated against the server every 7 days for now.
- Revamped marker API: Default markers now have a nicer look with rounded corners, nicer colors and a shadow. The API allows easy image and label markers to be created.
- Limit visible zoom levels: you can now limit what the user can view.
- Feedback during loading: ChamplainView will emit a state change when loading resources from network providing better feedback possibilities to the user.
- Line and polygon drawing API: You can now easily draw lines and polygon over the map. This is useful for indicating routes or highlighting areas.
- User Agent: libchamplain now identifies itself in HTTP requests
- Marker selection support: libchamplain provides a helpful API when you want to let user select a bunch of markers (or only one). This API has been designed with Gtk+’s selection API in mind.
- Ported to Clutter 1.0: libchamplain now depends and use Clutter 1.0. It allowed us to add the very nice in and out for markers.
- Bindings: the API is now bindable. Only the Python bindings works for now but that’s not because the Perl binder didn’t try hard to get some too, try having a baby close to a release! C# bindings and C++ have been worked on but didn’t make it on time for the release.
- Many bug fixes.
Plans for the future
Now that 0.4 is behind us, we already have a huge list of nice to have in 0.6 (due in same time as Gnome 2.30 or Gnome 3.0):
- Smooth zooming and animation;
- Rotation of the map;
- Display cached tiles while downloading new ones;
- Add a clustering layer: a layer where markers very close on a map will be merged into one marker;
- An MVC API for layers: use ClutterModel and support GtkTreeModel as sources of Marker data;
- Limit the visible area on the map;
- Have the map wrap horizontally;
- Have a nice dragging mode for markers;
- Add a map scale;
- Provide better accessibility;
- Better cache policies;
- Better animations;
And most importantly: local rendering of maps. This project is well on its way with the recent conclusion of the Google Summer of Code 2009. Simon Wenner, which you probably read the progress on planet.gnome.org, did a marvellous job on this. His work should be included in the first development release of libchamplain 0.5.