访问 MKMapView 的地图瓦片
Posted
技术标签:
【中文标题】访问 MKMapView 的地图瓦片【英文标题】:Accessing Map Tiles of MKMapView 【发布时间】:2014-02-04 22:49:04 【问题描述】:我目前正在开发一个应用程序,该应用程序需要显示用户当前在世界上的位置的地图。出于技术原因,在进入渲染管道之前,我需要以图像 (png/jpg) 的形式访问每个地图图块。
我已经尝试过 MapBox、MapQuest 等 3rd 方服务,因为它们具有 REST api,使我能够根据请求的位置接收图块的 png/jpg。这里的问题是 MapBox 不是免费的,所以我想知道是否有办法访问 Apple 在其地图应用程序中提供的图块。他们在后台使用什么服务?采用这种方法是否会违反某些使用条款。
请注意,使用一些集成的“全能”UIMapView 对我来说不是一个选项,我需要直接使用图像。
谢谢
【问题讨论】:
【参考方案1】:Google 有一个 REST API。您可以在这里查看详细信息https://developers.google.com/maps/documentation/staticmaps/?csw=1。如果超出使用限制,确实会花钱。
我为我的应用手动下载 Map Tiles,但我不使用 MKMapKit。我有自己的 MapView,我正在使用我在 AWS 上生成和托管的 MapBox、Thunderforest、CalTopo、OSM 和地图图块的组合。它们都有一个非常简单的地图图块 URL 方案,但您必须为其中的大部分付费。
【讨论】:
不幸的是,Google 的使用条款不允许我在之后对这些磁贴进行操作。我很高兴你回答了这个问题,因为你让我发现了在我搜索地图图块提供商时没有出现的 Thunderforest。你说雷霆森林可靠吗? Thunderforest 对我来说非常可靠。我遇到的一个问题是它比其他服务慢。如果你对 Thunderforest 感兴趣,这张地图一出来可能会让你感兴趣mapbox.com/blog/vector-terrain-outdoors 如何在 Swift 中的 MapBox 中设置 WMS 瓦片层,就像 Google 提供了一些在 developers.google.com/maps/documentation/ios-sdk/tiles 处添加它的方法,提前致谢以上是关于访问 MKMapView 的地图瓦片的主要内容,如果未能解决你的问题,请参考以下文章