Wednesday, February 28, 2007

Mobile GMaps

When I got the Motorola i415 about a year or so ago I remember trying out Mobile GMaps and not being too excited about it. Not sure which version it was, but it didn't have GPS support at that time.

Recently MGMaps caught my attention again. The current version (1.32.02) includes lots of new features and GPS support so I decided to try it out.

The i415 didn't like any of the available versions (full, minimal) and my guess is that the class verifier while checking its .jar failed while hitting the Java Location API classes (JSR 179) used to provide GPS support.

Wireless Toolkit

MGMaps is a MIDlet (application developed in Java using J2ME). Sun has an environment for test of midlets called Wireless Tookit (or WTK currently on its version 2.5). It includes support for the Location API (JSR 179). With it you can actually run pretty much any .jar/.jad combination.

There are some limitations though, you can only set serial ports COM1 and COM2 and a BlueTooth connection can only be simulated within the WTK itself. I decided to run the included GPS simulator to try MGMaps with it.

Simulating

If you want to try this path first grab the .jar/.jad file for MGMaps, then download (free registration required) and install the WTK from Sun's website. One of the demo apps included in the WTK is called CityGuide and it has a XML file with waypoints that you can use to simulate a GPS track.

Launch the WTK and select File | Create Project from Jad/Jar File and then browse to the location of the downloaded mgmaps.jad file. Now you should be able to select Open Project and see a new entry added to the included demo apps.

In the WTK select Edit | Preferences. Hit the Security tab and select "manufacturer" under Security Domain, this way you won't be asked to allow data transfers everytime the app tries to connect to a server. (Or set security.domain: manufacturer at the wtklib\emulator.properties file).

When you select Run Project an emulator window will come up. Select MIDlet | External events and under Location browse to the location apps/CityGuide to load the citywalk.xml file. Push the play button to start simulating the corresponding GPS events.

Where Am I?

Now launch the MGMaps in the Emulator as you would in a regular phone (you have a choice of four different models/skins). Open the Menu and select Settings | GPS. Under "Select Device", pick Internal. Open the Menu again and select GPS | Where Am I?

MGmaps supports internal GPS receivers and external devices through Bluetooth, Serial ports and also Navizon.

By default you will be taken to your current location (as simulated by the WTK) with Google Maps. You can select zoom levels under Search | Preferences. There you can set the desired level of zoom while loading map images.

Maps + Layers

MGMaps let you select map images from a variety of sources. Check under Go To | Map Types. You can use Google, Yahoo, MSN and Ask map data in several flavors.

You can also add more layers of data by selecting under Services options like Subway Maps (NYC, Boston, Washington DC, London and Berlin), WikiMapia (location tags), Fon (wi-fi hotspots) and Traffic Info.

MGMaps will grab data from these services and add them to the map image you have selected. You can also provide the URL for a KML file that will then be parsed and have its locations shown over a map.

The newest version will also let you get directions from your current GPS position or a given location. Search results can be stored.

If you are concerned with data transfer check under Help for the Download Meter (you can also see the actual URL's used to grab map data from the Debug Log window).

Version 1.28 seems to support serial ports on a PDA running J9. But I couldn't get it to read from COM2 (Custom setting).

All in all

It is pleasing to see how much a free app like MGMaps evolved in such a short time and how much you get from it. Its developer, Cristian Streng is active in the message board helping users getting up to speed and is continually adding features to it.

Check the website for supported phone models, user guide and lots of great material at the users forum. Including directions on how to get it working with locked down Sprint phones.

No comments: