中国的MapKit

Apple Maps是我的默认地图应用程序。 无论我走到哪里,我总是使用它。 特别是在日本和新加坡,它将告诉我地铁站的出口以及如何步行。 超级方便。 我就喜欢。

在中国,Apple Maps使用高德提供的数据。 它也可能被称为AutoNavi。 这是一家本地公司,隶属于阿里巴巴集团。 他们在中国的数据相当不错。 与百度地图不同,与高德从未接触过错误的路线。

但是,它们在中国境外的数据非常有限。 如果您在中国并且正在寻找不在中国的地方,那么地图将如下所示:

这就是欧洲和美国的地图外观。 只有街道名称。 如果您认为情况不好,请让我们检查一下新加坡。

我们基本上是在看空白地图。 不幸的是,如果我们尝试在中国以外的地方搜索,我们将永远不会获得想要的结果。 它只会显示位于中国的结果。

如果您设备的GPS位置在中国,您将遇到问题。 (请注意:至少对于在中国销售的设备,我在其他国家/地区没有购买任何设备。如果您知道其他设备是否也会发生这种情况,请发表评论并让我知道。谢谢。)

也许您不是在制作旅行计划应用程序,但是这些问题也可能会影响您的客户。 MapKit使用与Apple Maps应用完全相同的地图数据。

以下示例来自Weather Line。 我在中国,想查询阿姆斯特丹的天气。 这就是我得到的:

如果您正在模拟器上进行测试,则无法发现问题,因为在模拟器地图上,数据来自Apple,而不是来自高德。

解决方案

Mapbox是一个很好的选择。 他们有很好的文档。 您甚至可以在https://www.mapbox.cn上请求在中国使用的其他API密钥。 他们声称它将为中国用户更快地加载地图。

如果由于某些原因您不想使用Mapbox,可以尝试使用Google Maps Web视图。 即使不是本地语言,您也可以使用Google Maps JavaScript API来实现MapKit和Mapbox提供的大多数功能。 请记住,要使用适用于中国的Google Maps API,URL必须为 http://maps.google.cn 仅HTTP有效。 HTTPS没有。

下一步是什么

我将写有关WKWebView的文章 。 这将分为两个部分。 在第一个中,我将讨论WKWebView的基础知识,如何在Mac上加载本地文件和调试。 在第二篇文章中,我将展示native和JavaScript如何相互通信。 因此,您可以利用相同的技术,使用Google Maps Web视图创建交互式地图。