To get a clear unobstructed view of Shanghai you need to get up high. The problem is that most buildings do not allow access to the rooftop and windows are either locked or do not open wide enough to be able to shoot through. This means the only option in many cases is to shoot through glass and find a way to solve the problem of reflections. If you can get your lens right up against the glass it helps but still its difficult to eliminate all, especially at night when the room you are shooting from is lit. Sure if its a hotel room you can turn off all the lights but if its a public place no chance.
The trick is to seal between the lens and glass. Over the years I have tried a rubber lens hood or a black cloth and had some limited success, however, the lens hood only really allows a straight on shot and the cloth requires both hands leaving no hand to hold or work the camera. Then I discovered a great little device called a Lenskirt. This simple device is like a large black canvas lens hood that sticks to the glass with suckers and has an adjustable sock to fit around any lens. It works great and makes the job much easier. As far as I know only one company in the world makes such a device, the link I give below, so I had to order mine all the way from the USA. The delivery cost more than the Lenskirt but it has allowed me to take some great shots from hotel bars, restaurants, offices, shopping malls etc. All over Shanghai.
By the way, if I want/need to take long exposures, rather than using a tripod and struggling to get my camera close to the glass with the Lenskirt, I use a cheap and simple flexible monopod with a sucker at one end to stick to the glass, its like a kind of gorillapod with one leg. With this set-up I stick everything to the glass hold my remote in one hand and my beer in the other, very civilised.
http://www.lenskirt.com/