Curious how it works?

This is my first program in several years, so I'm eager for feedback. If you have comments, please include them on the Hacker News thread - I'll read every one. Seriously :).

There are two steps: calculate time & distance, then determine rates using rate tables.

1) Calculate time & distance - I used Google Maps API because it calculates both and didn't require end user to download any apps. I've observed that Google Map's time estimates tend to be a little bullish, so I may add a drag factor.

2) Determine rates - I used San Francisco's UberX, Lyft, and Taxi rate tables to calculate cost. UberX & Lyft surge pricing was done with simple multiplier off entire fare. I'm confident this is how Lyft's works, but unclear yet whether UberX multiplier applies to entire fare or not.

I also added an extra feature - auto population of your current location. I'm amazed this is built into HTML5 - my how far we've come :). Google Maps then provides reverse address lookup based on HTML longitude/laditude.

Next features - I want to build in a feedback mechanism to increase the accuracy of estimates. Adding more cities would also be obvious improvement. But, ultimately depends on how much response this gets!