Wie gesagt, die Höhenbestimmung erfolgt geometrisch vom Erdmittelpunkt aus gesehen, auf einer mittleren Meersspiegelhöhe, als Nullwert.
GPS Höhen müssen auf Kartenhöhen umgerechnet/angepasst werden.
(Gute Wanderkarten haben z.B. eine Angabe um wie viel die GPS Höhe +- angepasst werden muss.)
Ob die Höhe bei Maps und Co angepasst wird, weiß ich nicht, bzw. wird Maps die Höhe von der Kartengrundlage der Koordinate angeben und das GPS die Höhe, was es "gemessen" hat.
Und ja, ein Hochhaus "kann" eine Rolle spielen. Das nennt sich Lagefehler.
Beim Wandern hast Du so etwas gerne in Schluchten oder bei Felswänden. Wobei Dir ein echtes GPS im Gegensatz zum O-GPS1, den wahrscheinlichen Lagefehler anzeigen kann.
Das GPS wertet in ungünstigen Fällen nicht die direkten Signale aus, sondern die Reflektionen vom Hochhaus. Wenn Du Dir überlegst, das das GPS die Position anhand der Signallaufzeiten von den GPS Satelliten ermittelt, sollte das "warum" klar sein.
Zu dieser möglichen Fehlerquelle kommen systembedingt zusätzliche Fehlerquellen hinzu.
So gibt es Lagefehler aus der Satellitengeometrie (Höhen und Seitenwinkel), welche aber normalerweise minimal sind.
Dann gibt es noch die Systemfehler (Bahn- und Satellitenuhrfehler +-2m, Signalausbreitungsfehler - also Laufzeitverzögerungen durch die Ionosphäre +-5m und der Troposphäre +-0,5m) und Empfängerfehler durch Rauschen und Temperatureffekte und Rechnungs und Rundungsfehler +-1m.
Und zu guter letzt kommen dann noch bei der Kartenansicht Kartenfehler und Gitternetzfehler (vor allem bei den Breitengraden) dazu. (Je nach Karte können hier locker 500m Differenz bestehen)
Ich beziehe mich hierbei zu größten Teil auf meine gemachten Erfahrungen mit GPS und Kartenabgleich beim wandern.