Incorrect position rendering of WGS84 coordinate in MKMapView: Discrepancy between Apple Maps (Hong Kong) and Amap (Mainland China)

I am encountering a coordinate rendering issue using MKMapView in my iOS app. I have a GPS coordinate in WGS84 format, which corresponds to a location in Hong Kong. When my device is physically located in Hong Kong, MKMapView displays the map with the "Apple Maps" label, and the WGS84 coordinate is rendered at the correct position. However, when the device is in Mainland China, MKMapView switches to display "Amap" (Gaode Maps) branding, and the same WGS84 coordinate is rendered at an incorrect position. I understand that Amap in Mainland China uses the GCJ-02 coordinate system, while Apple Maps typically uses WGS84. This discrepancy suggests a potential coordinate system mismatch, but I cannot definitively confirm which map type (and corresponding coordinate system) MKMapView is actually using in different regions. My key questions are:

  1. How can I programmatically or visually confirm the underlying map type (Apple Maps vs. Amap) and its coordinate system within MKMapView?
  2. Is there a way to simulate the Apple Maps environment for testing when physically located in Mainland China?
Answered by DTS Engineer in 855003022

CLLocationCoordinate2D is documented to use the WGS 84 reference frame. If you have specific needs to use a different coordinate system or projection with MapKit, please file an Enhancement Request so the team can consider your needs. Once you file the request, please post the FB number here.

First of all, WGS84 is a world geodetic system (WGS). It's complicated. Coordinates in MapKit are just basic latitude and longitude. Internally, they are represented as map points in the web mercator system (EPSG:3857), not WGS84.

But none of that really matters for your question. Maps in China must use the government-mandated coordinate system which automatically applies obfuscation. So, yes, it is wrong. But it's supposed to be wrong. You don't need to worry about that or try to simulate it. And definitely don't worry much about obvious edge cases like Hong Kong.

CLLocationCoordinate2D is documented to use the WGS 84 reference frame. If you have specific needs to use a different coordinate system or projection with MapKit, please file an Enhancement Request so the team can consider your needs. Once you file the request, please post the FB number here.

Incorrect position rendering of WGS84 coordinate in MKMapView: Discrepancy between Apple Maps (Hong Kong) and Amap (Mainland China)
 
 
Q