Hybrid maps to Maemo Mapper

What? Why?

Maemo Mapper is a geographical mapping software specifically designed for the Nokia 770 internet tablet. The software gets it's maps from Google Maps and you can select between an ordinary map and a satellite picture by pointing Maemo Mapper to
//mt.google.com/mt?n=404&v=w2.37&x=%d&y=%d&zoom=%d
or
//kh.google.com/kh?n=404&v=13&t=%s
(Google changes their URLs every few weeks, so these URLs or the software below might not work anymore. If this is the case, just email me and I'll update these.)
Google Maps has also a hybrid mode, where the map data is shown on top of a satellite photo. I personally find the hybrid map the most useful mode, but as it is composed of two pictures, the mode is not available in standard Maemo Mapper.

How does it work?

To get the hybrid maps to Maemo Mapper I wrote a Python program to act as a server between Maemo Mapper and Google Maps. When the server gets a request for a map tile from Maemo Mapper, it downloads the corresponding satellite image and the map overlay image from Google Maps. These two are then combined into a single image, which is sent to Maemo Mapper.
If a satellite image isn't available, the script returns a plain map image to Maemo Mapper.

Usage

I'm not hosting a public server, so if you want to use hybrid maps, you need to run this software on your own computer or server. This is how you do it:
First, you need to download the server script.
You also need Python and the Python Image Library installed. Then you run it:
python maemo-mapper-server.py
The server starts listening for requests on the port 42845. Then you just point Maemo Mapper to
//your-server-name:42845/map&%d&%d&%d
and you can start browsing your new hybrid maps :)

In theory you can also run this server on a Nokia 770, but as the device has pretty limited computing capacity, the software would probably be pretty slow. In theory you can also run this software on Windows, but I have tested it only on Linux.

You might also be interested in my other mapping projects: finding flights on Google Maps, automatically geotagging your photos or measuring distances on Google Maps.