1

我正在使用以下代码

 MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(CLLocationCoordinate2DMake(annView.annotation.coordinate.latitude, annView.annotation.coordinate.longitude - .04), Some KM, Some KM);

 MKCoordinateRegion adjustedRegion = [self.mapView regionThatFits:viewRegion];
 [self.mapView setRegion:adjustedRegion animated:YES];

其他地方是

MKCoordinateRegionMake(CLLocationCoordinate2DMake(annView.annotation.coordinate.latitude, annView.annotation.coordinate.longitude - .04), ADD SPAN HERE)

这两者都使地图缩放。我怎么可能在没有任何缩放的情况下更改区域。

4

2 回答 2

3

获取当前区域,只需更改中心点。

// get current region
MKCoordinateRegion region = self.mapView.region;
// Update the center
region.center = CLLocationCoordinate2DMake(annView.annotation.coordinate.latitude, annView.annotation.coordinate.longitude - .04);
// apply the new region
self.mapView.region = region;
于 2013-07-13T17:48:09.003 回答
2

如果您要设置坐标,请使用该MKMapView -setCenterCoordinate:animated:方法。动画位置变化给用户一个关于发生了什么的线索。

CLLocationCoordinate2D coordinate = annView.annotation.coordinate;
[myMapView setCenterCoordinate:coordinate animated:YES];

此外,无需创建新坐标,只需使用注释视图中已有的坐标即可。

于 2013-07-13T20:31:05.467 回答