Iphone 没有Google图层的MKMapView

Iphone 没有Google图层的MKMapView,iphone,mkmapview,Iphone,Mkmapview,使用MKMapView时,有没有办法禁用Google图层?我打算自己供应所有的瓷砖 我现在的看法是,我必须选择我的地图使用哪种类型的谷歌数据,但无法完全关闭它 更新 只是重申一下。我根本不想让我的应用程序与谷歌联系。不应接收地图图像,因此我认为我不是在他们的许可协议中一时兴起。这是谷歌API许可协议的一部分 你永远不能隐藏他们的标志、标签或图像 即使你使用私人课程做到这一点,我向你保证你的应用程序将被拒绝 你唯一能做的就是添加覆盖层和引脚 祝你好运 我认为Craig的问题更多的是“是否有一个类似

使用MKMapView时,有没有办法禁用Google图层?我打算自己供应所有的瓷砖

我现在的看法是,我必须选择我的地图使用哪种类型的谷歌数据,但无法完全关闭它

更新
只是重申一下。我根本不想让我的应用程序与谷歌联系。不应接收地图图像,因此我认为我不是在他们的许可协议中一时兴起。

这是谷歌API许可协议的一部分

你永远不能隐藏他们的标志、标签或图像

即使你使用私人课程做到这一点,我向你保证你的应用程序将被拒绝

你唯一能做的就是添加覆盖层和引脚


祝你好运

我认为Craig的问题更多的是“是否有一个类似于MKMapView的控件,我可以使用它来显示我自己的地图和地图分幅,它完成了MKMapView所做的所有事情(处理从“我的房子”到“整个星球”的缩放,动画滚动到特定的纬度/经度坐标等),但却使用了我的内容?”


…答案是否定的,或者至少苹果没有提供除MKMapView以外的“地图”控件,而且如果不使用谷歌地图,就无法使用MKMapView。您必须从UIScrollView的一个子类开始,编写自己的方法,或者查看用于显示地图的第三方SDK。

如果您反对使用MKMapView类是因为它基于Google数据,那么我建议您作为另一个地图提供商签出。他们有自己的SDK和UI控件,非常容易使用。

我已经在另一个网站上回答了这个问题

虽然更准确地说,这并不能阻止Google调用(它们很可能仍然会发出,因为解决方案涉及更改绘图行为),但您将看不到瓷砖


希望它能对您有所帮助。

从iOS 7开始,这项工作现在非常容易做到。此代码(您可以将其放在
viewdiload:
方法中)将在应用程序包的
map tiles/
文件夹中查找分幅:

NSString *baseURL = [[[NSBundle mainBundle] bundleURL] absoluteString];
NSString *template = [baseURL stringByAppendingString:@"map-tiles/{z}/{x}/{y}.png"];
MKTileOverlay *overlay = [[MKTileOverlay alloc] initWithURLTemplate:template];
overlay.canReplaceMapContent = YES;
[self.mapView addOverlay:overlay level:MKOverlayLevelAboveLabels];

详细介绍了如何下载OpenStreetMap互动程序以供脱机使用。

这不是关于隐藏他们的徽标,而是关于不以任何方式使用他们的数据。我想要MKMapView,它可以做我想要的所有东西,我不想要谷歌地图,谷歌地形,谷歌卫星或任何以上的混合。由于可能会加载覆盖图,使其地图数据变得模糊,并且我的地图数据将填满整个屏幕,因此我无法将其视为LA的一部分,我不能选择退出协议并选择不使用其数据。坚持下载然后隐藏他们的数据有什么意义呢?我想我不明白你当时想做什么;但是,如果您不使用MKMapVIew提供的任何东西,除了添加覆盖,那么创建自己的视图不是更好吗?希望你能更好地解释你需要什么;因此,我可以尽我所能为您提供最好的建议。MKMapView还有很多可以提供的东西。瓷砖的缩放、缩放和缓存。用户定位和跟踪。我唯一不想要的就是谷歌瓷砖。我有自己的瓷砖,但我尝试创建自己的视图,但它的效果没有苹果官方的那么好。我的MKMapView只显示地图本身,没有任何谷歌徽标或任何东西,因此如果我添加覆盖图(如克雷格所希望的),它可能是谷歌的东西,这是不可见的……我个人更愿意使用实际的MKMapView控件。它已经可以很好地使用我自己的数据了。问题是它总是使用谷歌的数据,我只想把它关掉。克雷格,很高兴你能这么做。我也有很多地图数据,我想利用没有谷歌的限制。MapKit功能非常强大,很遗憾我们不得不将其链接到任何特定的地图。继续努力。我的反对意见是MKMapView使用外部数据,我希望它保持脱机状态,只使用内置的数据。如果我将CloudMake数据加载到我的MKMapView中,它仍然会加载下面的Google数据。