iOS地图 港澳台 问题

首先说一下地图坐标大致分为几种:
1、WGS84(GPS)也就是原始坐标体系,这是国际公认的世界标准坐标体系,比如谷歌地图;
2、GCJ-02(火星坐标)国家测绘局在02年发布的坐标体系,在国内,至少得使用此坐标体系,比如:google(应该叫中国谷歌)、高德、腾讯地图等;
3、其他特殊坐标体系,一般都是由在火星坐标基础上进一步加密计算得出的,比如百度使用的是BD-09坐标,搜狗使用的是自己的搜狗坐标。几种坐标系转化方法网上有。
  目前高德开放平台的所有产品,地图SDK、定位SDK等,在中国大陆、香港、澳门都是返回火星坐标;在台湾地区,返回的是WGS84坐标;海外地区(仅定位SDK),返回的是WGS84坐标
介绍高德地图是因为自iOS6之后,苹果已经停止使用谷歌地图了,在国内大陆地区,系统自带的MK地图使用的是高德数据,在港澳台及国外地区使用的是TomTom的数据(TomTom应该也是WGS84坐标系),所以要特别注意的是iPhone手机在大陆和港澳台加载的地图数据是不一样的,大陆是高德按照国家要求加密过的,港澳台国外(也可能某些特别的国家也像中国一样?)是原始的(应该是苹果根据下边我提到的三种或者别的方法会确定你手机所在地)。
  说清了这一点,那么如果有需要判断手机所在地的时候,一般思路是
1.ip地址
2.GPS逆地址解析
3.运营商。
我这里使用了第二种方法,用自带地图定位,逆地址解析。这里还有一个坑,如果你手机在大陆那么解析大陆、港澳台的时候返回的地址字段有个CountryCode都为CN(其实很好理解,高德数据么,它还不敢作死),但是如果你手机在港澳台,那么返回的CountryCode为HK、MO、TW(美帝用心险恶啊~),外国为对应国家简称。
  以上仅为博主开发过程中遇到这个问题一种解决方法,如果你有更好思路,欢迎留言交流。

你可能感兴趣的:(iOS地图 港澳台 问题)