我正在开发一个应用程序,我必须使用 制作地图MKMapView
,但形状为圆形?
关于这一点的任何想法,任何线索都会有所帮助。
在屏幕截图中看到,你会明白我在问什么。
请参阅圆圈中的地图。
我正在开发一个应用程序,我必须使用 制作地图MKMapView
,但形状为圆形?
关于这一点的任何想法,任何线索都会有所帮助。
在屏幕截图中看到,你会明白我在问什么。
请参阅圆圈中的地图。
这是一个棘手的方法,但它可能是你想要的!
添加QuartzCore.framework
#import <QuartzCore/QuartzCore.h>
//make circled shape
[yourMapView.layer setMasksToBounds:YES];
[yourMapView.layer setCornerRadius:160.0]; //here you've to pass width of yourMapView / 2
很高兴看到更多的答案!!:)
首先,如果您在使用卫星/航拍照片时这样做,您将违反Google 地图服务条款。
10 许可限制。除非本条款明确允许,或者除非您事先获得 Google(或,如适用,特定内容的提供者)的书面授权,否则上述 Google 的许可受您遵守以下所有限制的约束。除非第 7 节明确允许,否则您不得(也不得允许其他任何人):
...
10.7 删除、隐藏或以任何方式更改出现在服务或内容中的任何警告、通知(包括但不限于任何版权或其他所有权通知)或链接;
任何通告MKMapView
都可能会掩盖与照片一起显示的版权声明。
我们可能预计MKMapView
很快会从使用 Google 数据更改为使用 Apple 数据,但可能会有类似的文本,您不能混淆。
有了这个,有两种方法可以使这项工作:
UIView
具有透明背景的子类,使其drawRect
方法围绕一个圆形孔绘制,并使其pointInside:withEvent:
方法返回NO
同一个孔。将这些视图之一放在您的MKMapView
.CAShapeLayer
不透明的圆形(或任何其他形状)并使其成为mask
自己MKMapView
的layer
. 这将允许圆形地图出现在任何地方,但仍然可以与其不可见的角落进行交互。