我有一种情况,我有一个MKMapView,它占用了我的xib文件的完整视图。在这个顶部(在xib的左侧)我有一个tableView。
我在我的地图上添加了许多注释,这很好,然后地图居中,所以这些都在视野中。我遇到的问题是地图是根据整个视图的大小居中的。我想做的是将区域置于地图可见部分的中心 - 所以基本上添加一个与tableView框架大小相同的偏移量。 mapView占用视图的整个大小的原因是tableView可以被解除,因此用户可以全屏查看地图。 tableView不会从0,0开始占据整个高度,因此您可以看到它背后的地图(这就是为什么我不会在解雇表时让地图的框架更大视图)。
我一直在尝试使用
[mapView convertPoint:point toCoordinateFromView:mapView]
然后尝试找出我当前所选区域之间的差异,但这似乎并没有起作用。
任何帮助表示赞赏
CGPoint offset = CGPointMake(tableView.frame.size.width,self.tableView.frame.size.height);
CLLocationCoordinate2D movedLocation =[self.mapView convertPoint:offset toCoordinateFromView:self.mapView];
// Not sure what I should do here
// hardCodedLocation.latitude = hardCodedLocation.latitude - (hardCodedLocation.latitude - movedLocation.latitude);
CLLocationDistance zoom = 900000;
[self.mapView setRegion:MKCoordinateRegionMakeWithDistance(hardCodedLocation, zoom, zoom) animated:YES ];