Taxicab App
The Taxicab app will broadcast your current GPS location / street address to nearby taxicab drivers who are also using the app. The app sends/requests information to/from a webserver and the android app then parses resulting XML data. When a taxidriver is looking for a passenger, or passenger is looking for a taxidriver, the server only gives android taxicab app results within a ~30 mile radius. The Android app uses a Geocoder library to figure out street addresses from GPS locations.
Videos:
Android walkthrough:
https://dl.dropbox.com/u/79245586/androidwalkthrough.wmv
https://dl.dropbox.com/u/79245586/webapiworking.wmv
Android Source Code:
.zip: https://dl.dropbox.com/u/79245586/GetTaxi.zip
.rar: https://dl.dropbox.com/u/79245586/GetTaxi.rar
PHP Web API:
.zip: https://dl.dropbox.com/u/79245586/taxi.zip
.rar: https://dl.dropbox.com/u/79245586/taxi.rar
Sample XML formatting
request: /taxi/getNearbyTaxiRequests/?latitude=34.4094609&longitude=-119.8528425
result:
Web API Urls:
// Get all nearby taxi drivers in nearby longitude/latitude
- http://mozamagic.net/taxi/getNearbyTaxiDrivers/?latitude=34.4094609&longitude=-119.8528425
// Get all nearby taxi requests in nearby longitude/latitude
http://mozamagic.net/taxi/getNearbyTaxiRequests/?latitude=34.4094609&longitude=-119.8528425
// Get all nearby taxi requests made by person with certain phone number
http://mozamagic.net/taxi/getTaxiRequestByPhone/?phone=0000000876
// Get all nearby taxi requests made by driver with certain phone number
http://mozamagic.net/taxi/getTaxiRequestByDriverPhone/?driverPhone=0000000876
// Remove all taxi requests by taxi driver's phone number
http://mozamagic.net/taxi/deleteTaxiRequestByPhone/?driverPhone=0000000876
// Pickup passenger with certain phone number
http://mozamagic.net/taxi/pickupPassengerByPhone/?phone=0000000876
// Request Taxi
http://mozamagic.net/taxi/requestTaxi/?latitude=34.4094609&longitude=-119.8528425&address=addr&phone=0000000876
Concluding Remarks:
- Driver and Passengers are uniquely identified by their phone number. This makes sure a passenger does not request two taxis at the same time.
- Possible improvements include making the android app work in real-time with Google maps API & also improved User Interface.