我已使用以下代码实现双击缩放。
CLLocation* currentLocation = [myArray objectAtIndex:5];
MKMapPoint annotationPoint = MKMapPointForCoordinate(currentLocation.coordinate);
MKMapRect zoomRect = MKMapRectMake(annotationPoint.x, annotationPoint.y, 0.1, 0.1);
[mapView setVisibleMapRect:zoomRect animated:YES];
当我第一次双击时,缩放到特定的针位置不起作用,下次再开始工作正常。
如果从距离引脚位置很远的不同位置双击,那么相同的问题,即缩放到特定引脚位置不起作用。
任何人都可以有想法吗?
由于
答案 0 :(得分:1)
要将地图置于坐标中心并缩小以显示坐标两侧的某些经度和纬度,请创建MKCoordinateRegion
对象并更新MKMapView
以显示新区域:
CLLocation* currentLocation = [myArray objectAtIndex:5];
// Create a span covering 0.1 degrees east to west and north to south
MKCoordinateSpan degreeSpan = MKCoordinateSpanMake(0.1, 0.1);
// Create a region that centers the span on currentLocation
MKCoordinateRegion region = MKCoordinateRegionMake(currentLocation.coordinate, degreeSpan);
// Update the map to show the new region
[mapView setRegion:region animated:YES];
要进一步放大,请缩小度数范围的大小,例如:
MKCoordinateSpan degreeSpan = MKCoordinateSpanMake(0.05, 0.05);
您还可以以米为单位创建区域,这可以更容易推理。以下内容创建了一个1000 x 1000米的区域:
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(currentLocation.coordinate, 1000, 1000);
要进一步放大,请减少米数。