我有一个特殊情况,我似乎无法理解。
我有一个全屏 map View 作为背景。在下半部分中,我还有一些其他元素,我需要为我的 map View 设置 mapregion,以便所有注释都可见并位于 View 的上半部分。
我可以找到所有注释的 maprect。
我还可以找到上半部分的矩形 - 甚至可以将其转换为 maprect。
但是我如何关联这两个 maprect 以便将适合注释的 maprect 移动(并挤压)到上半部分?
有人可以给我一个提示吗?
Best Answer-推荐答案 strong>
我曾经有过类似的设计,只是它是针对单个注释而不是多个注释,但原则上是相同的。
在 ViewDidLayoutSubviews 中:
- 创建一个包含注释的 MKRegion 创建一个 CGPoint
位于 map 未覆盖部分的中心。
- 改变
您所在地区的中心到未覆盖 map 部分的中心
通过使用 MKMapView.convert(point: toCoordinateFrom
- 显示新的
通过调用 mapView.setRegion(region, animated: false) 居中
您需要弄清楚哪个区域包含您的注释(不仅仅是找到最大和最小纬度、经度并添加填充)。以下是其余部分的示例代码:
let point = CGPoint(x: mapView.bounds.size.width/2, y: -100)
region.center = mapView.convert(point, toCoordinateFrom: mapView)
mapView.setRegion(region, animated: false)
关于ios - 如何在上半部分 og mapview 上显示注释?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/47346323/
|