Well, Michael asked for it. So, to prove my point, I went ahead and put it together.
Read on to find out more or just go there know by testing out a search for: Dinner and a movie…then fix your car.
Please forgive the UI (I noticed it looks ok in Mozilla on Mac but looks a bit funky in IE on Windows). I’m much more of a backend developer than a javascript & CSS developer so please be forgiving and forward on your comments/help if this client-side stuff looks funky or doesn’t work. Feel free to also post your feature requests here.
Basically, it is using Yahoo’s Local API to grab YP data and using Google Maps.
I am asking for zipcode as an input as I can always geocode/parse that. Since Yahoo doesn’t provide a lat/long as an output for each listing, I geocode on the fly using a number of different geocoders, weighted based on their response times and accuracy. They include Geocoder.us (perl modules), former google programming contest winner, “Geographic Search (which, if you’ll remember, preceded their announcement of “local search” by 1-2 years), etc. I have also downloaded the entire Tiger data from the Census. The geocoding, of course, is what takes all the time so please be a bit patient when you’ve submitted the form/clicked on the link. Searching against multiple keywords also take some time as Yahoo’s API requires a separate call for each one (and we must traverse the Internet to grab it each time we request it, then parse it, etc).
Additionally, I’ve added javascript functionality that reloads the locations as you move across the map…but, again, be patient for the content to load because of all the geocoding…This feature was for you, Ask (geourl). Currently, I check how far you’ve moved the map (whether it is due to opening one of those information bubbles or you panned, etc) and decide whether to redo your search…this saves on my bandwidth (for both requesting the listings & geocoding) as well as saves the user from having to wait for this info to get remapped.
Well, you probably don’t care about all the gory details of what I did and how I did it so, if you’re ready, head on over to Local Search Maps.
For an example on how to handle multiple overlayed searches, try searching for Dinner and a movie. Basically, enter a zipcode for your location and enter a comma-separated list for your query of all items you’d like mapped. I’ve limited the list of items to the first 3 since I don’t want to hang things up on my end trying to download all the location data then geocode them all. …and in case you didn’t read the details above, please remember that it may take a bit for the data/map to show up since I have to download all the YP data and geocode it in realtime.
TODO:
1) figure out a good UI mechanism to allow people to “add” to their list rather than keep re-entering a comma-separated list.
2) UI enhancements as mentioned above
3) test UI and javascript in multiple browsers (I expect you guys to help me with this one by posting any errors or unexpected behaviors you get).
…and, BTW, you might see the registrar’s page instead of mine…at least until DNS sufficiently propogates (sorry…out of my hands).

Loading ...