我正在使用MapKit,我跟随MKAnnotationView
,其中绘制了一个CGSize(width: 26, height: 26)
的红色圆圈。
如何从MKMapSize
或CGSize
计算尺寸MKAnnotationView
?
来源:
我得到了MKMapView
多个MKOverlay
s,当用户点按任何叠加层以便将mapView
s区域更改为该叠加边界时,这样可以正常工作,但我需要停止如果点击的坐标位于MKAnnotationView
(红色圆圈)的坐标区域内,则更改区域。
我在这里寻找其他答案,但没有运气并尝试过:
let zoomLevel = log2(360 * ((Double(self.frame.size.width) / 256) / mapView.region.span.longitudeDelta)) - 1
MKMapSize(width: 26 * zoomLevel, height: 26 * zoomLevel)
答案 0 :(得分:0)
以下MKMapView
方法可以将CGSize
转换为MKCoordinateRegion
:
mapView.convert(rect: CGRect, toRegionFrom: UIView?)
<强>用法:强>
let customAnnotationSize = CGSize(width: 26, height: 26)
let region = mapView.convert(CGRect(origin: .zero, size: customAnnotationSize), toRegionFrom: mapView)
拥有region
是最重要的,最后我会检查注释的坐标是否在region
范围内。