隐藏一个MKMapView,而覆盖可见
我正在写一个iPhone应用程序,我将一个自定义图像作为地图覆盖在MKMapView
之上。该图片是MKOverlayView
,我想知道是否有办法隐藏或覆盖底层的Google地图,以便用户在滚动出我的自定义地图范围时从不会看到它。任何建议,将不胜感激。隐藏一个MKMapView,而覆盖可见
我会告诉你可以在谷歌地图上方MKOverlay的帮助下绘制一个非常大的多边形,并尝试覆盖上面的自定义地图,这样谷歌地图将被非常大的多边形和您的自定义隐藏地图和注释将出现。
这可能不是一个好主意。但它是一个可以锻炼的技巧。
在iOS 6上,根据显示标志,以下设置地图切片的Alpha通道为0(或1)。
注意该方法假定这些瓷砖排序的某种方式。如果Apple决定在iOS更新中更改MKMapView的内部工作方式,则此方法可能会中断。
if ([mapView.subviews count] &&
[((UIView *)[mapView.subviews objectAtIndex:0]).subviews count]) {
((UIView *)[((UIView *)[mapView.subviews objectAtIndex:0]).subviews objectAtIndex:0]).alpha = show ? 1.0 : 0.0;
}
现金去这里:http://iphonedevsdk.com/forum/iphone-sdk-development/84694-how-to-use-mapkit-without-maps.html
MKTileOverlay
有canReplaceMapContent
属性。将其设置为YES以告知MKMapView
不要在覆盖图下面绘制自己的图块。
恩,我确实包括了必要的部分。设置你的overlay.canReplaceMapContent = YES; 我差不多正是你刚刚说的那样做的...... – Kevin 2014-09-12 16:32:31
@Pawan:对我来说看起来没问题。如果答案错误,请解释为什么发表评论。 – 2014-09-12 17:56:53
的MKMapView是在OS 6+没有GoogleMap的 - 只是FYI – 2013-05-16 08:42:48
更新的苹果地图 – 2016-01-22 20:37:41