In late March, Google announced enhancements to their mapping API that gave developers programmatic access to their popular streetview feature. Streetview allows users to “virtually explore city neighborhoods by viewing and navigating within 360-degree scenes of street-level imagery.” The API enhancements provide the ability to embed panoramas in an app and to even pan them dynamically using JavaScript.
Since that release, developers have had a chance to create some very interesting mashups using streetview, and in a recent Maps API blog post, Google’s Pamela Fox highlighted some of these (3 of which are now cataloged in our directory: StreetView Adventure Game, Povo Boston, and Dual Maps):
And if you want more streetview mashup examples:
Also check out VegasVision, Ong Map V2 (Alpha), VPike, FlyRig, Street View Gadget, LotView, Street View SF Tour, RealBird, Glotter and a Street View Tour Gadget. And if you loved Trulia’s implementation (announced on Google LatLong last week), check out this demo that shows how to angle a street view panorama towards the side of the street that a building is on. (It involves math, but don’t worry, we’ve done it for you.)
Thanks to some new API updates, one can now update the Location field in a Twitter user’s profile using the Twitter API. As Ryan Sarver writes on his blog:
Location updates currently aren’t normalized or geocoded, but the ability to update it on the fly allows for some very cool possibilities when it comes to geo-based tweeting — especially in apps like Twinkle [an iPhone app] and Twittervision.
This update has now been reflected in the official API Documentation. For example, the following curl command will update your location (where USER and PASSWORD are your Twitter username and password):
curl -u USER:PASSWORD -d location="Berkeley, CA" http://twitter.com/account/update_location.json
Note that the location field is limited to 30 bytes when encoded in UTF-8. Hence, a long address such as “2855 Telegraph Ave., Berkeley, CA.” will be truncated as “2855 Telegraph Ave., Berkeley,”.
It will be interesting to see how this ability to programmatically change a user location will be used in practice. In addition to using this location field to display tweets on a Google map, Twittervision (profile) has been promoting a way to update one’s location right within a tweet, by embedding a location such as L: Berkeley, CA. What will Twitter programmers and users use to update their location: the profile location, individual tweets, both, or neither?
Meanwhile the Twitter API continues to provide us with a steady stream of very useful and interesting mashups, with 46 Twitter apps listed here so far, including recent entries like the straightforward Twitterwatch that lets you see all the latest twitters as they are sent (full profile here).
The release of version 6.1 of the Microsoft Virtual Earth API has been announced on the Virtual Earth / Live Maps blog (with more details from from VE evangelist Chris Pendleton). Although it’s a minor release number there’s a variety of useful new capabilities in the service and its API. Some of the highlights are:
To get a sense of how Microsoft’s new features compare to those in Google maps, compare different views of the main building of the New York Public Library:
Go to http://maps.live.com/ and them out features out.
As noted on Techcrunch, one of the most interesting features is the deeper support for KML in Virtual Earth. Microsoft Live Maps will take the URL for a KML file (such as those from Google My Maps) and display the point. For instance, you can use Yahoo! Pipes to extract the locations and convert a RSS feed to a KML feed. For instance, pass the NY Times International Section RSS feed to a location extracting Yahoo! Pipe to generate a KML feed. For a while now, you’ve been able to display KML feeds using Google Earth or Google Maps, and now, by using the mapurl parameter, you can use Live Maps to also display the KML feed.
As a developer, don’t forget one of the best learning tools around for any mapping API — the The Virtual Earth Interactive SDK as well as the source documentation at Microsoft Virtual Earth. And for more examples of what’s being built on the VE API, see the 140 Virtual Earth mashups listed here.
We’ve seen that the Google Maps API gets the lion’s share of Web 2.0-style mashups, but the overall market share leader in online mapping is still dotcom veteran MapQuest. And though they may have been behind in this part of the market they’re looking to make up for lost time with their their announcement of the new MapQuest Platform: Free Edition. This substantial new release replaces their first generation open API launched almost exactly two years ago. We’ve updated our MapQuest directory profile with technical details on the lasted API.
As you can see on their Why Join? page, one of key reasons for using the API is that now there’s no limit on the number of standard and tiled maps, geocodes, and routes and no fees for publicly available websites. This is in contrast to most of the other well know public mapping APIs which eventually reach a ceiling above which developers must work-out a for-fee contract with the provider either for map displays or geocodes. (Note that MapQuest still offers commercial, for-fee services starting at $5,000 per year that provides additional enterprise grade requirements like SLAs and phone support.)
This strategy reflects just how competitive this space is with over over 50 mapping-related APIs.
Not only are they releasing an API, they’re releasing six APIs: Java, C++, .NET, JavaScript, (Adobe ActionScript 3: Flash, Flex, AIR), and their own creation they call FUJAX: “Flash Under JavaScript and XML, which allows developers to write in JavaScript, yet leverage the power of Flash.” In terms of Ajax and RIA-style features, there’s a wide range of functionality, some of which are available from other mapping providers and some of which only MapQuest provides:
Note that in addition to our new ProgrammableWeb Mapping API and Mashup Dashboard we also now have a dedicated Mapping RSS feed that includes any and all mapping related news from PW including new APIs, mashups, news and code.
Today at the O’Reilly ETech Conference in San Diego, Yahoo’s Tom Coates demonstrated their latest API, and perhaps their most unique API: Fire Eagle. It’s a platform for sharing your location online. It gives applications the ability to update, query and track your location, with user-driven privacy controls allow setting of location availability and granularity. We have created a new Fire Eagle API profile here. Yahoo’s site describes it as:
The secure and stylish way to share your location with sites and services online while giving you unprecedented control over your data and privacy. We’re here to make the whole web respond to your location and help you to discover more about the world around you.
This Yahoo diagram does a nice job of illustrating how applications can interact with the platform:
Here are some of the key details:
There are many sources out there for getting global time and timezone information online. Now there’s an service getting local time anywhere in the world from the small startup WorldTimeEngine, a service which is both a mashup as well as an API. Their basic web site centers around a search box where users can search on names and geographic locations like “india” or “10 downing street, london” or “51.50, -0.126236″. The result of the search is itself a mashup that shows a the location plotted on a Google Map along with a variety of time-related data like timezone, UTC/GMT offser, DST, and geographic coordinates. The example below is from our mashup profile:
Their RESTful web service API returns the local time in an XML data structure based latitude and longitude coordinates. You can view more details in our WorldTimeEngine API profile. The API is available for commercial use via a subscription model at £72 per year (and it’s one of the first APIs we’ve seen where you can buy usage on the spot using Google Checkout).
If you want a dead-simple way to create custom maps without needing to worry about JavaScript or programming then the just announced Google Static Maps API may be your answer. Google’s new API allows you to generate the maps using a regular URL (ala REST) along with parameters specifying location, size, etc and it returns a unique GIF image with that map. We have created a Static Maps API profile with the details. Here are some notes from their announcement:
The Google Static Maps API returns a GIF-format image in response to a HTTP request via a URL. For each request, you can specify the location of the map, the size of the image, the zoom level, the type of map, and the placement of optional markers at locations on the map. You can additionally label your markers using alpha characters, so that you can refer to them in a “key.”
You embed a Static Maps API image within a webpage inside an img tag’s src attribute. When the webpage is displayed, the browser requests the image from the the Static Maps API and it renders within the image location.
A few other details of note:
http://maps.google.com/staticmap?parameters
O’Reilly’s Brady Forrest reports that the folks at Urban Mapping have just made the neighborhood lookup functions of their web service API free. Urban Mapping provides a useful piece of the online geographic puzzle by providing detailed data on over 1,000 municipalities and more than 20,000 distinct neighborhoods. The API is a SOAP-based service that lets you find the names of neighborhoods based on lat-lon coordinates, city or postal code. We’ve have updated our Urban Mapping API Profile here.
Note that a couple of comments on the O’Reilly post from sharp developers Adrian Holovaty and Chandu Thota add to the discussion, pointing out that the API does not (yet) provide polygons for the underlying data and it does not use standardized neighborhood IDs. In his own post, Chandu notes that the latter is a more general problem, not Urban Mapping specific: “This is not an issue with Urban Mapping API per se, but they expose neighborhood IDs that are proprietary to them. What we need is a standard-based way to identify neighborhoods, some sort of taxonomy you know. For example, the neighborhood that is identified as “17476″ in Urban Mapping API is not the same neighborhood in some other dataset. So if I’m building a mashup with neighborhood data, I want it to be portable (more on the map APIs and portability later).”
If you want a hacking diversion on your New Year’s holiday, here’s a mashup-related idea: turn your Nintendo Wii into a controller for Microsoft Virtual Earth 3D maps. Our first Mashup of the Day for 2008 comes from this article by Brian Peek that shows you how to do it along with accompanying video and source code in C# and VB. (And for more Wii hacking, see the earlier Wii Enterprise Remote).
If you’re interested in creating secure maps mashups the Microsoft Virtual Earth team has a new feature for you: SSL support. As .NET developer David Barkol points out: by providing SSL support the Virtual Earth API now offers something not yet available in Google Maps. This means developers can include a version of the VE map control from a https://dev.virtualearth.net address for any SSL-enabled applications they’re building without having to resort to requiring specific browser settings or server-side proxies.
David notes that “if you’ve ever placed a Virtual Earth map or Google map on an HTTPS page then you’re probably familiar with the mixed content message that appears when the page loads” and that this new VE capability directly addresses this problem:
While SSL support is not required for many mashups, this level of security will become more relevant as map mashups evolve into integral elements of enterprise applications, commercial mashups, and other higher-value apps.