If you're using an Android phone, you can also try an app that uses OpenStreetMap data, the one I use is OsmAnd+. They're all a bit different but this one lets you download very detailed world map data directly from their servers. You can also download topo maps which is nice if you're going to be doing stuff outdoors and want to know what the terrain is like (not super accurate but gives you a pretty good overview). It does have navigation as well but I've never tried that feature so no idea how good it is. And it has point of interest search, and it all works offline.