In my previous post, I talked about using Yahoo! Pipes to geo-enable your feed, and about how this opens up endless possibilities with online mapping tools like Google Maps via Google Mashup Editor (GME) and Microsoft Virtual Earth.
So, just to prove how easy it is to do some mapping with RSS data, I did a quick and dirty Virtual Earth webpage based on the example I used in the previous post. You can find the finished webpage online here. Here's a screen capture:

The amazing thing is, it's all HTML and javascripts!
So, here's how I did it. Using a sample from the interactive SDK, I created a Virtual Earth map webpage. The map object, when loaded, will grab a JSON feed from our movie stars Pipes example. We use JSON to go around javascript's same-source policy, which restricts the loading of XML from other sites.
Once the JSON object is loaded, it calls the pipeCallback() method which iterates through the result set for each IMDb actor and director, drawing a customized push-pin icon, and adding an item to the list. Make sure you take a look at the source. Pay attention to the VEMap.AddShape() (and VEShape class) and the VEMap.SetCenterAndZoom() methods. The former is used to add customized push-pins, a star ★, and the latter, to set the current longitude and latitude in the result set, as the center of the map.
Taking a closer look at the JSON output and at the javascript, you'll notice that I did not choose to use the "y:location" property to extract the latitude and longitude information. Instead, I used the "geo:lat" and "geo:long" properties, which contain the same information. Embedded in the "y:location" property, however, is more geographical information, with which you can use for all sorts of interesting stuff. Here's a fragment of the "y:location" JSON:
{
"country":"United States",
"city":"Chicago",
"lat":"41.88414",
"lon":"-87.632378",
"quality":"50",
"state":"Illinois"
}
If you chose to use this, your javascript would look like this:
var lat = obj.value.items[x]['y:location']['lat'];
var lon = obj.value.items[x]['y:location']['lon'];
var city = obj.value.items[x]['y:location']['city'];
I know our data is quite trivial, but this sample webpage demonstrates how easy it is to create a rich user interface with maps, using tools already available for you online, and, without needing to host your own server data or tool.