As of today, you can utilize the ever-important Google Maps to get directions offline, courtesy of a new update by Google. Currently it applies only to Android, but it won't be long before it's on iOS (and presumably desktop as well).
After you download a region of the world to your phone, Maps will switch to Offline mode automatically when it detects little or no connection (and switch back when it detects a reliable one). From there, you'll be able to get directions, search for specific places, and find information on various spots including hours of operation and so on. Note traffic conditions will be excluded from this mix.
To download, search for a region, then tap the Download button. Alternately, tap the "+" button, then "Offline Areas". Note that a major city like San Francisco will take up about 85MB, and much larger areas could take up to as much as 375MB.