Two and half years ago, I described a local search problem:
Yesterday, while considering going to a local public house to watch some of the Canucks vs. Minnesota pay-per-view game, I consulted this list of pubs showing the game. ItÃ¢â‚¬â„¢s just two big, unsortable tables covering all of BC. Unless you’re only looking to confirm that a particular pub is showing the game, itÃ¢â‚¬â„¢s nearly useless.
I wondered aloud (as I was by myself), Ã¢â‚¬Å“wouldnÃ¢â‚¬â„¢t it be cool if somebody could feed all this data into Google Maps, and I could use that to determine which pubs were closest.Ã¢â‚¬Â
With some help, I almost got the thing up and running. Then I ran into some roadblocks, got busy and forgot about it.
I still have the same problem. Tonight I’m giving a talk, and wanted to be able to slip out afterwards to catch the second half of the Flames/Canucks game. I figured I’d have another crack at the problem. This time I’ve been successful–witness my l33t mashup skillz!
Er, you can check out the completed map.
Here’s how I did it (it’s not exactly rocket science):
- I went to the Canucks website and copied all the details–name, address and city–of the pay per view venues. I dumped that data into an Excel spreadsheet.
- I needed to associate latitude and longitude values with each address. I used this handy free tool to ‘geocode’ each venue. I added the location data to my spreadsheet.
- I imported my spreadsheet into Google Docs. You can see it here.
- I ran this wizard from Google (thank you, Webware) to turn my hosted spreadsheet into a location-rich Google map.
- The wizard generates some code, which I subsequently hosted on a dedicated page on my site.
Somebody has probably already done this in the meantime, but I wanted to see if I could do it myself. It was encouragingly straightforward, and only took me about an hour from start to finish. It’s not perfect–the Grizzly Bar is floating in the Atlantic south of Nigeria–but it’s a reasonable solution to my problem. Steamworks on Water Street seems like the right fit for tonight.