Thursday, April 21, 2005

Mobile Google Maps with GPS

The launch of Google Maps in the UK this week has coincided with the desire to write some Python code for my Nokia 6630 mobile phone. As Matt Croydon's PythonForSeries60 shows, there are an increasing number of interesting projects written using the Python SDK for the Nokia phones.

A discussion thread on the Nokia forums shows how to get position data from a Bluetooth GPS, and when combined with recent Google Maps hacks, gives a simple Google Maps GPS application for the Nokia.

The demo app reads the current latitude / longitude position from a Bluetooth GPS device and converts the coordinates into an x,y map tile reference for Google Maps. After connecting to Google Maps over GPRS or 3G and retrieving the tile, it displays it on the screen.

As the GPS position changes, it pulls in and displays the correct tiles as you travel along your route.

Nokia 6630 with Google Maps and GPS

The app is very basic, and suffers from the current method used in Nokia Python for displaying graphics on the phone - it can only display around 32 or so tiles before falling over. When the next release of Python for the Nokia is out, the additional UI and graphical functions should allow other additions such as:

- overlaying current position on map tile
- rotate and centre tiles to current GPS heading
- background downloading of adjacent tiles
- incorporate speed, position, satellites, etc. in UI

You can download the current release from here: gmap_0_2.py

Simply place in the System\Apps\Python folder on your mobile phone, and run from Python.

Python for the Nokia Series 60 can be found on Nokia’s website

A few snapshots of the app in use:
Nokia 6630 with Google Maps
Bluetooth GPS unit