1. Google Maps
I love Google Maps. It lists bus stops, subway stations and local places of interest like grocery stores, museums, etc. Directions are fairly exact and offer routes by foot, local transport, taxi and personal vehicle. If you are short on data, you can also download areas beforehand to use offline while touring the city. Just be sure to calibrate the app every so often for the most accurate results.
If you are city-hopping, Rome2Rio is super helpful in figuring out your travel options. It collects routes and fares from a variety of websites to offer you the best deal on the web.