Ric*_*cky 11 cocoa-touch mkmapview
我有一个MKMapView填充了我的整个视图,但是当选择了一个引脚时,我正在向上滑动地图顶部的另一个视图.我想移动地图,以便引脚显示在地图可见区域的中心.
很难解释,但希望它有意义!提前致谢.
Ano*_*mie 33
您可以尝试从visibleMapRect地图视图中获取MKMapRect ,将注释的坐标转换为MKMapPoint,重置MKMapRect的原点以使MKMapPoint处于适当的位置,然后使用setVisibleMapRect:animated:将可见区域设置为新的MKMapRect.
例如,如果要移动地图以使注释水平居中并垂直向下25%,则可以执行以下操作:
MKMapRect r = [mapView visibleMapRect];
MKMapPoint pt = MKMapPointForCoordinate([annotation coordinate]);
r.origin.x = pt.x - r.size.width * 0.5;
r.origin.y = pt.y - r.size.height * 0.25;
[mapView setVisibleMapRect:r animated:YES];
Run Code Online (Sandbox Code Playgroud)
使用 MKMapViewDelegate 方法:
func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
// center the mapView on the selected pin
let region = MKCoordinateRegion(center: view.annotation!.coordinate, span: mapView.region.span)
mapView.setRegion(region, animated: true)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7076 次 |
| 最近记录: |