University of Washington: Campus Map

Map of the Week: University of Washington Campus Map
Why we like it: A beautiful use of interactive custom tiles, custom info windows, and the Google Directions API for embedded walk/bike/drive directions. A great example of a highly customized Google Map.

The beginning of May marks the start of college graduation in many places around the world. When the day comes for long awaited college graduation ceremonies, finding the events on campus can be daunting for visiting family and friends. Just in time for spring graduation ceremonies, comes this great Google Map from the University of Washington. For a large school like the University of Washington that occupies over 500 buildings and over 20 million gross square feet of space, a good map is a must to help visitors and students alike find their way around.

What sets this map apart is the high level of customization, most notably the well designed, custom interactive tiles that highlight university buildings and points of interest. University buildings stand-out from the map in deep purple and display a custom InfoWindow with additional information when you click on them. For sharing convenience, each building has its shortened url.

Overall the map looks great responds quickly as you search around campus. Embedded into the map are walking/biking/driving directions that allows users to route in between buildings and point of interest.

Just in case you won’t be visiting the University of Washington in the near future, here are some other campus maps worth checking out: Northeastern University, UCSD Bus Map, and Universidad de Murcia. Also, the Google Developers Showcase has this and many more campus maps worth checking out.


Dev Tip of the Week: How to search by driving time with AJAX v7, REST, and Spatial Data Services

The recently released Query API within the Bing Spatial Data Services makes it easy to build applications that enable searching for locations by area, by property, and by ID. A common scenario is the ‘Locator’ application, in which end-users enter an address, and find the locations that are nearest to them. We can easily cater for this in Bing Maps by geocoding the end-user’s address with the Locations API, and then finding nearby locations with the Query API to Query by Area.  Using a spatial filter, we can find the locations that sit within a specified radius of the given location, and present the results ordered by distance ‘as the crow flies’.

But what about those cases in which geography or other considerations mean that the closest location by straight line measurement will actually take much longer to drive to than one of the other locations? For example, if you are in the Upper West Side of Manhattan, NY, the nearest location by straight line distance might be across the Hudson River in New Jersey. But actually getting there will require you to drive or walk quite some distance in order to cross a bridge over the river.

It would be much quicker to make your way to a location in Manhattan that might be a bit further by straight-line distance, but doesn’t require you to cross any rivers.

So how can we help our users identify the locations that will take the least amount of time to get to? We can reorder our results by driving time before we present them to our end user. By using the Query API to obtain a set of locations in the vicinity of our user, then using the Routes API to determine how long it will take to drive to each of our nearby locations, we can guide our user to our locations which will be quickest for them to get to.

Reordering Results by Driving Time

The key step here will be the reordering of our results so that they are presented in order of least driving time, and doing this without making separate Routes API requests for each location. We achieve this by constructing a multi-point route request, going from the search origin (our user’s location) to each of the locations in our Query API result set and back. The Routes API supports up to 25 waypoints per route request, so we could use this technique to determine the driving distances for up to 12 locations in a single request. We can use the resulting drive time (or drive distance) of each leg of our route to reorder our locations before presenting them.

Sample Application

Included below is code for a basic application that combines the Bing Maps AJAX Control v7, the Query API, and the REST Locations and Routes APIs, to enable a fully client-side locator scenario in which we present our results based on driving time.

At a high-level, the application will:

  • Capture a user address, and geocode it via the Locations API
  • Take the latitude and longitude from our geocoded location, and use the Query API with a spatial filter to find the nearest 5 Fourth Coffee Shops to the user address
  • Generate one multi-point route request that goes from our geocoded location to each Fourth Coffee Shop and back
  • Reorder our results based on the driving distance from the geocoded location to each Fourth Coffee Shop
  • Present the reordered results to the end user on a map using the Bing Maps AJAX Control v7

To optimize performance, we limit the result set to 5 locations, but to reduce the chances that there are other stores that might be closer by driving time than the 5 that are presented, we could also consider retrieving 10 results from the Query API, reordering them by drive time, then presenting only the top 5 from our reordered result set.

Here is the code. To view and use the code, developers will need to obtain a key and insert that key into the placeholder within the code sample.

TomTom on Smartphones and Standalone GPS Devices

The last time we heard from Tom Murray, TomTom’s senior vice president of market development, he said that GPS-enabled smartphones had “no market impact” on the sales of standalone GPS navigation devices. It’s been six months. In a chat with The Unofficial Apple Weblog, TomTom Tom’s tune is now a little different: GPS smartphones have had an impact on standalone devices, but the smartphone market is “complementary” — they’re selling apps for the iPhone, for example, and that’s a growth business for them — and there are still way more dedicated devices out there than smartphones. Let’s see what he says in another six months.