Google Maps works well but does not have all the building addresses in their database for some reason. Addresses mean very little in St Petersburg since whenever a building has its exterior renovated(every 3-5 years) the no one bothers to replace the nice historic cast building address plaques so you might have to walk a few blocks to see an address and count buildings, not doors to figure out an address. Businesses publish their addresses but never..ever...put an address on their sign door or window. I know the city VERY well and still have a hard time finding places that might be in an inner courtyard or not on the street level.
GETT is a taxi app that works well and better in Russia than Uber. Yandex(Russia's Google) has one also but only in Russian, that is the best. There is a map program that has much better address and business database, including 3rd line drawings of the outlines of buildings I use on Android called MAPS.ME
For Metro, there is a good app named METRO. If you use the bus, tram or trolley systems...you should since they connect everyplace with the nearest metro, download MOOVIT. This app shows the nearest bus or tram stop on a moving map and also lists the next bus or tram by number and its estimated arrival time at that point, usually 2-10 minutes. Late at night buses run less frequently.
Moscow has a great metro system but is VERY crowded and very complex so pay attention what direction you are headed, the gender of the voice tells you north or south on a north-south route and east-west.
St Petersburg is a very visitor friendly city, almost impossible to get lost because 1, distinctive visual landmarks can be seen from almost anywhere, and everyone you meet knows exactly where they are and what is in the neighborhood. Not so in Moscow. My GF and I were looking for a federal building that is 23 stories tall but did not precisely where it was. So we started asking other pedestrians on a major street where it was. We laughed in that not one person knew of the building(turns out it was 50 meters away) and nor did they know the name of the street we were standing on. So we tried an experiment and asked many people for obvious landmarks we knew, often just a block of it and only about 20% knew where they were and had ever heard of the significant landmark. So you are on your own in Moscow. If someone tells you directions get confirmation from others since bad info was received if they offered a guess.
St Petersburg is very different that way. Stop someone and ask for directions and not only will you get accurate directions but some tips on visiting the city, or often, having them volunteering to walk you right to your destination, describing all the history of each building or sign passed. Everyone in St Petersburg is very into their city and its history, and want others to appreciate it also. You will probably meet strangers who become friends if you are at all outgoing. If not, people will leave others alone not wanting to intrude..