fix a bunch of quirks with streetview and refactor code for map display modes