The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Champlain - Map rendering canvas

SYNOPSIS

        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();

DESCRIPTION

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/.

EXPORTS

The module defines the following constants which can be exported on demand:

MIN_LAT
MAX_LAT
MIN_LONG
MAX_LONG

The tag coords can be used for importing the constants providing the minimal and maximal values for (latitude, longitude) coordinates:

        use Champlain ':coords';

Gtk2 support

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.

BUGS

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.

AUTHORS

Emmanuel Rodriguez <potyl@cpan.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.