Go bindings for mapnik (http://www.mapnik.org or http://github.com/mapnik/mapnik)
These bindings rely on http://github.com/springmeyer/mapnik-c-api.
-
Install Mapnik build environmnent,
- e.g. Ubuntu:
apt-get install libmapnik-dev
- e.g. Ubuntu:
-
Download the sources, either by
git clone
the repository to $GOPATH/src/fawick/go-mapnik
OR
go get -d github.com/fawick/go-mapnik/mapnik
-
cd mapnik
and run the configuration script./configure.bash
. That script will setup the correct paths for including Mapnik headers and linking against the Mapnik shared library, as well as download the Mapnik C API source andgo install
the bindings.
On Windows, go-mapnik is restricted to GOARCH=386 for the moment, as the SDK is build with MSVC 32-bit and the C api must be build with a compatible compiler as a DLL before the Go bindings can be linked against it. This way
You also need to have the MSVC 10 compiler installed on your system.
So, make sure go version
reports windows/386
as your toolchain. If you
happen to have the windows/amd64
toolchain, either download Go binaries for
windows/386
or put a MinGW 32-bit compiler in your path and rebuild the Go
binaries on your own.
-
Install Mapnik Windows 32bit SDK from http://www.mapnik.org/download
-
Download the sources, either by
git clone
the repository to $GOPATH/src/fawick/go-mapnik
OR
go get -d github.com/fawick/go-mapnik/mapnik
-
Run
configure.cmd
in the foldermapnik
to compile a C DLL that can be used by Go/CGO/GCC later (sources will be downloaded automatically). Also, the script willgo install
the bindings. -
Run
go run demo.go
and openview_tileserver.html
in a browser. (Make sure your %PATH% environment variable contains the paths of bothmapnik.dll
and the newly createdmapnik_c_api.dll
.)
See demo.go
for some usage examples.