Author image Brian Manning
and 1 contributors


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->center_on(45.466, -73.75);
        # Pack the actors       
        # Main loop


DEPRECATED Perl bindings for the C library 'libchamplain-gtk'



This module has been deprecated by the Gtk-Perl project. This means that the module will no longer be updated with security patches, bug fixes, or when changes are made in the Perl ABI. The Git repo for this module has been archived (made read-only), it will no longer possible to submit new commits to it. You are more than welcome to ask about this module on the Gtk-Perl mailing list, but our priorities going forward will be maintaining Gtk-Perl modules that are supported and maintained upstream; this module is neither.

Since this module is licensed under the LGPL v2.1, you may also fork this module, if you wish, but you will need to use a different name for it on CPAN, and the Gtk-Perl team requests that you use your own resources (mailing list, Git repos, bug trackers, etc.) to maintain your fork going forward.

  • Perl URL:

  • Upstream URL:


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:


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';

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.


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


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

For the terms of The Artistic License, see perlartistic.