Changes to Google Maps for iOS in China

Discussion about GPS Log for iOS, it's features and uses.

Changes to Google Maps for iOS in China

Postby divzero » Thu May 05, 2011 7:57 pm

In China, Google Maps are offset by about a block from the correct positions. The exact amount of this offset varies greatly by city, and even slightly in the same city.

GPS Log corrects for this by adding an offset value when displaying spikes. Recently the way iOS handles this offset was changed, and until GPS Log 3.1 is released, the user location marker will appear incorrectly in GPS Log.

Technical details of the iOS change:

Previously, only the Map-view was offset. The user's location marker, and the satellite imagery were correct (though not aligned with the Map, making navigation difficult). Spikes when viewed on the satellite imagery were correct.

Now, the user's location marker has the same offset as the Maps layer applied to it. So in fact, the Map and the user's location marker will line up again. This is very useful for navigation in China! Just because they line up however, doesn't mean they are the correct locations. If you enter the lat,lng for a known location (or use the GPS Log 'view in maps' feature of a spike), the position will appear incorrectly – this is because the map is offset.

If you are using a new iOS, such as iOS 4.3 and 4.2, and are viewing the map via a Chinese connection (not from abroad, not on a vpn, etc), then with the recent change the satellite view and hybrid views are also offset (but only in the official Maps App, not in an embedded MKMapKit view, as used by GPS Log) – and thus everything lines up (the Map view, Satellite view, Hybrid view and the user's location marker). Viewing on a foreign connection, or on iOS 3.0 – the satellite-view is not offset, and the hybrid-view just shows the satellite-view, as before.

Map-view offset
Hybrid-view just shows satellite

Map-view offset
User location marker offset
Satellite-view offset (only in iOS >= 4.2, only in the Maps App, and only on Chinese internet connections)
Hybrid-view works, and is offset (only in iOS >= 4.2, only in the Maps App, and only on Chinese internet connections)

No change:
Lat,lng markers are not offset, and appear to be incorrect when displayed on offset views (see above). They need to be offset as well if they are to line up.

The result of this change is that if you use the official Maps app on a Chinese connection, everything looks right. That is because everything has the same offset applied. Just because it looks right however doesn't mean it is. Sadly if you enter a latitude and longitude on the app – it will show the pin without the same offset applied, and thus and, appear incorrect. In fact the lat,lng is correct – it's just that everything else has been offset. So in conclusion: Google Maps on iOS still have issues with lat,lng coordinates, but at least now the user's location marker lines up with the map.

As the Map is still offset, Apps, such as GPS Log must come up with their own solution to display lat,lng coordinates (such as spikes) correctly on the Map. GPS Log does this for several big Chinese cities to workaround this issue. For any cities not covered by GPS Log, and in other apps that do not use this technology, lat,lng coords when viewed on the map will appear to be incorrect (when actually it is the map that is incorrect).

There was no change to, the Map-layer is still offset from the real (and satellite-view) locations, and spikes will appear a little off. To verify that your spike positions are actually correct, view them on the satellite-view or on another map service.

To summarise: 1) navigation is now better on iOS in China. 2) the offset problem however still exists 3) GPS Log attempts to fix this offset problem displaying to you the correct results.
Stay up to date, follow @GPSLog on Twitter!

Spikes: 10681 (1870 public)
Posts: 617
Joined: Sat Sep 07, 2002 2:47 pm

Return to GPS Log for iOS

Who is online

Users browsing this forum: No registered users and 6 guests