Posts Tagged ‘google maps mashup’

Density (heat) map of world-wide photos on Panoramio

Tuesday, May 25th, 2010


[Editor’s note: Neat idea, but not as detailed (street level) as the Flickr effort, post up next.]

Republished from Info is Beautiful.

Great places-to-avoid heatmap using distribution of photos on Panoramio. Nice idea! By

World map color-coded by level of touristiness, based on analysis of photos on Panoramio. Yellow indicates high touristiness, red medium touristiness, and blue low touristiness. Areas having no Panoramio photos at all are grey.

Continue to view the map . . .

Creating the District Taxi Fare Estimator (Google Maps Mashup)

Thursday, March 20th, 2008

taxi yellow cab I published a Google Maps mashup for The Washinton Post on January 20th (view at that allows a consumer-focused price comparison between the current zone-based fare structure and the planned time-distance meter system. The tool allows a user to enter their own route or try a sample route.

The approximate route is plotted on a Google Map and the prices are shown and compared to calculate the taxi rider’s savings (or loss). The map is fully interactive: markers can be repositioned if the user don’t know a street address but does know a map or satellite image location. The switchover to time-distance meters is now scheduled for May.

This blog post will describe how and why the interactive taxi fare estimator was created and share who’s using the tool and determine if the zone or meter system would be cheaper based on actual usage with a sample pool of nearly 17,500 unique visitors and over 50,000 trips calculated.


taxi washington post dc taxi estimator

Screenshot of final Washington Post District Taxi Fare Estimator interactive.


One of my bosses, Larry Nista, approached me late in 2007 about building an online tool to compare estimated prices between the zone and meter taxi fare systems. Our department had already been experimenting with simple online content this seemed like a good project to create a more complex Web 2.0 site where a user was given a higher level of interaction and meaningful, customized results. A non-work friend and I had previously talked of making a cell phone text based service for determining zone fares so this projected peaked my curiosity.

My previous experience were relatively simple projects like:

Most these projects are very procedural, 1, 2, 3 style projects with a limited set of outcomes that could be hand designed and linked. The taxi project required a more general solution. I had already been programming in ActionScript for Flash and was fairly competent at that (several unpublished projects) and my experience with the Dog Parks project showed me how similar ActionScript was to JavaScript, which is the language Google Maps API is written in.

It became obvious this project should be done using the Google Maps API early on and I set about learning all the different data structures and functions. At first I thought I could use web services provided by the District of Columbia GIS mapping team online, but it would still have needed to combine that with the Google Maps map tiles so I decided to do all the mapping with the Google Maps API.

Project Phases

  1. Conceptualization of the project:

    Compare fares between meter and zone taxi fare rate structures

  2. Discovery.
  3. DC GIS web services, Flash, Google Maps API, HTML, CSS

  4. Design.

    Mockup in Illustrator of basic features and design

  5. Implementation.
  6. Dreamweaver HTML, Javascript coding, more discovery of Maps API routine

  7. Redesign

    Increase user interactivity (draggable map markers)

  8. Redesign based on comments
  9. Price comparison, look and feel & bug squashing (cross-browser compatibility)

  10. Final implementation and release

    Including tracking code via Google Analytics

Why Google Maps API?

I used Google Maps API as it could quickly calculate route distance and estimated travel time. I could use the API to draw the map and the route line and icons interactively. Finally, I could use it to do basic map algebra like “is the start point in what taxi zone polygon” which was needed to determine the zone-based fare.