M(app) of the Week: Airbnb for Android

Why we like it: In addition to getting a visual and functional refresh and Google Wallet integration, the Airbnb app for Android now includes some advanced map marker features, such as custom marker images and marker clustering.  The Airbnb team added these features to their app using the Google Maps Android API v2.

When searching for a place to stay, each location is displayed on a map with a marker indicating its price per night.  Using custom marker images to show additional information on the map helps users make decisions based on multiple, important variables (e.g. price and location) more rapidly.  With the Maps API, you can create custom markers from bitmaps that you dynamically draw or load over the wire, or from static assets that you package with your application.

The Airbnb app also uses the Projection class to determine which markers would visually overlap, and replaces them with a single cluster marker that shows how many places it represents.  Marker clustering allows developers to control the visual complexity of the map and improve app performance by reducing the number of makers that are displayed simultaneously. As the user interacts with the map, the marker clustering dynamically changes, which is a great experience for exploring the information displayed on the map.

Marker clustering is also a excellent technique for capturing a third important piece of information about places, which is density.  In the above map of San Francisco, you can see that there are a number of Airbnb places listed in the Mission and Noe Valley neighborhoods, which might indicate that these are interesting places to visit and explore (they are!).

If you want to read more about the technical and visual enhancements that the Airbnb team made to their Android app, be sure to visit their Nerd Blog!

Posted by Paul Saxman, Maps Developer Relations Team