I find that this is a strange topic.
Why use GPS on a river cruise? You are not traveling at a high rate of speed, and rivers are not very wide.
Also, why GPS in a city like St. Petersburg? I have taken walking tours of St. Petersburg, and a map in your tour book should be enough.
Visiting the Hermitage, however, can be very confusing. Use the IBM service inside to print out routes to the various art works you are interested in.
I lived in Israel for 10-years, and carried a GPS and a cell phone, just in case I ran into trouble in the West Bank, and needed help quickly. Only happened once. My GPS (a low cost Magellen) would not indicate altitude below sea level, and I traveled daily to the Dead Sea area. Also, Sea of Galilee is below sea level. In USA, only Death Valley is below sea level.
One other thought. Using a GPS in a city would peg you for a tourist, and make you a target for pickpocketing or robbery. Stay safe.