I've installed the WP-Syntax wordpress plugin for code highlighting, and am very impressed, except for a nasty bug that was causing code snippets to escape html special characters.
So unless you live under a non-Web 2.0-enabled rock, you've probably heard of the magic of the Google maps API and google maps mashups. If you're saavy, you've probably even heard that now Google Maps offer translation of addresses into latitude and longitude, aka Geocoding.
What you may not know is that the folks at google exposed this geocoding as a regular old URL-based webservice, which means that whatever Nifty mashups your devious little minds can come up with (as long as they fly with google's TOS) can be powered on the backend without ever loading a google map!
<!-- more -->
So lets cut the chit-chat and jump to some code... I'm going to use PHP here, but do whatever fuels your nerding.
First, sign up for a key, put in whatever URL you happen to own, it won't matter (i'll explain later).
next, add this to your php file, making SURE to replace the key with your own:
Supposing all goes well you should see the following: (if not check the PHP CURL manual)
Data: 200,4,38.951667,-92.333889
You'll notice that the first number is the return code, the second the relative accuracy (there 4 we see here is quite low as a result of the broad input. 8 is street-level address accuracy), third the latitude, and fourth the longitude.
So now that we've seen the magic.. let's get it all nicely formatted:
And that's it! Less than 40 lines of code to give you a powerful resource for mapping and usability. Just how powerful? You'll have to wait for part two to find out...
*Note on locations and API keys: In my experience thus far, the Geocoding service doesn't actually check that the api key is being called from the originating server. This may change in the future at some point, so keep your eyes open.
FULL CODE LISTING:
Update:
A few people have mentioned that after some number of requests (between 100-300) in quick succession google will kill your access for the day, so you may want to insert a