Wenn die Funksignale der Satelliten durch Hindernisse wie Gebäude o.ä. verfälscht sind, so dass ihre Auswertung eine falsche Position ergibt, dann kann das Gerät da nicht viel für, das ist ein der Technik an sich immanentes Problem.
Das iPhone 3GS schon :) während andere GPS Geräte ordentliche Angaben liefern, liegt das iPhone schon mal gerne ein paarhundert Meter daneben ;)
Das neue iPhone bzw. das Betriebssystem soll den Standort darum auch zusätzlich noch über andere Faktoren ermitteln können - z.B. die WLAN-Zugangspunkte in der Umgebung usw.
Oder glaubst du im ernst, Google fährt ohne Sinn durch Straßen und zeichnet WLAN-Daten auf? Dafür gibts sicher bereits massig Käufer. ;)