Champlain - Map rendering canvas
use Clutter '-init'; use Champlain; # Standard clutter canvas my $stage = Clutter::Stage->get_default(); $stage->set_size(800, 600); # Create the map view and set some properties my $map = Champlain::View->new(); $map->set_size($stage->get_size); $map->set_zoom_level(7); $map->center_on(45.466, -73.75); # Pack the actors $stage->add($map); $stage->show_all(); # Main loop Clutter->main();
Champlain consists of the Perl bindings for the C library libchamplain which provides a canvas widget based on Clutter that displays maps from various free map sources such as OpenStreetMap, OpenAerialMap and Maps for free.
For more information about libchamplain see: http://projects.gnome.org/libchamplain/.
The module defines the following constants which can be exported on demand:
The tag coords can be used for importing the constants providing the minimal and maximal values for (latitude, longitude) coordinates:
use Champlain ':coords';
In the past Champlain provided also support for a Gtk2 widget if the C library libchamplain was compiled with GTK support and if Clutter would be built with Gtk2 support.
While this was very handy it made the Perl modules hard to maintain and starting with Clutter 1.0 the Gtk2 wrappers are no longer bundled together. Instead they now need to be downloaded and installed separately. This mimics what the C libraries and other bindings already do for Clutter & co.
The Gtk2 Perl bindings for this widget are available in CPAN as Gtk2::Champlain.
The library libchamplain is quite young and its API is changing as the code gains maturity. These bindings try to provide as much coverage from the C library as possible. Don't be surprised if the API changes within the next releases this is normal as libchamplain IS NOT yet API nor ABI frozen.
It's quite probable that bugs will be exposed, please try to report all bugs found through GNOME's Bugzilla http://bugzilla.gnome.org/simple-bug-guide.cgi?product=champlain (when prompted for a component simply choose bindings). GNOME's bug tracking tool is preferred over RT because the bugs found in the library could impact libchamplain or the other bindings. Of course all bugs entered through RT will be acknowledged and addressed.
Emmanuel Rodriguez <firstname.lastname@example.org>.
COPYRIGHT AND LICENSE
Copyright (C) 2009 by Emmanuel Rodriguez.
This library is free software; you can redistribute it and/or modify it under the same terms of:
- the GNU Lesser General Public License, version 2.1; or
- the Artistic License, version 2.0.
This module is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
You should have received a copy of the GNU Library General Public License along with this module; if not, see http://www.gnu.org/licenses/.
For the terms of The Artistic License, see perlartistic.