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.
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).
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.
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
…and, BTW, you might see the registrar’s page instead of mine…at least until DNS sufficiently propogates (sorry…out of my hands).