Tue 20 Mar 2007
A mashup, in case you don’t know, is a new word that means combining “content from more than one source into an
integrated experience”. I recently purchased a Garmin GPS device, which is useful when you want to amuse yourself on a long roadtrip. It has a little color display that shows a rough-looking map. If I hook a USB cable to it, connect to my laptop and load up my MapSource Topo maps, I can see where I am on a bigger map. Only, MapSource Topographical maps really suck. For one, the interface looks like it was programmed by a five year old, ten years ago. And the maps themselves lack detail and are crudely constructed. I want rich content, I want the elegance of Google maps with the street names overlaid on a satellite map that allows me to pan with the flick of my mouse or zoom with a touch of the scroll wheel. I need a mashup.
And so that’s what I made. I have a web server (Apache through XAMPP) running on my Windows laptop. I wrote a PHP program that calls an external program GPSBabel which queries the GPS unit and returns the current latitude and longitude. The PHP program packages that information and sends it to a web page which creates a Google map (using their API) centered upon that current position. The laptop gets the Google map images through an internet connection over another USB cable connected to my cellphone. The location is refreshed (through AJAX) every 4 seconds.
And it works! Driving to work this morning, Google maps followed me the entire way. The gory details are in my technical blog: GPS + Google Maps Mashup tech details and more details of GPS + Google Maps Mashup
Click the thumbnail for a screenshot of my mashup hack.
March 20th, 2007 at 12:23 pm
Seems like a lot of work to go through… running Apache and doing a website with AJAX?
Why didn’t you just write a Windows Form application since you were running Windows?
March 20th, 2007 at 12:30 pm
[…] In my other blog I just wrote about my GPS + Google Maps Mashup. […]
March 20th, 2007 at 12:42 pm
actually, it was rather simple. and since I used all open source tools, i can run my application on Linux too.
the AJAX was just to show off.
March 20th, 2007 at 1:29 pm
“GPS device and it has proven convenient when I want to found out my location.”
sweet. I need to found my location too!
March 20th, 2007 at 1:30 pm
arghhhh
March 20th, 2007 at 2:05 pm
Some of you have pointed me to this site: http://mehere.glenmurphy.com/ which does a similar thing. The difference is that glen murphy’s program is a windows executable and his works over a serial connection. Mine is all open source and will work on a linux box and mine works with usb
September 1st, 2008 at 12:03 am
What about using a “static” map source?
I mean, I like the idea of getting my old GPS block that came with Microsoft Streets and Trips to work.
But, I don’t want to foot the bill for a real-time mobile data connection.
so, how about using a local map store? Maybe a few saved Google maps (or their triptik?).
Or the Open map website? (I assume you can save a local copy of it)
September 1st, 2008 at 12:05 am
Oh, and I forgot to mention I’m running on a MAC book PRO. So, things that only work on Widows don’t do me any good at all…