相关疑难解决方法(0)

将MKCoordinateRegion转换为MKMapRect

我的应用程序中有一个方形MKMapView,我希望设置一个中心点和视图的确切高度/宽度(以米为单位).

创建MKCoordinateRegion并将地图设置为它(如此代码中所示...

MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(center_coord, 1000.0, 1000.0);
[self.mapView setRegion:region animated:YES];
Run Code Online (Sandbox Code Playgroud)

..)无法正常工作,因为在这里使用区域只意味着至少显示该区域,通常比区域更多.


我打算使用setVisibleMapRect:animated:方法,因为我相信这会缩放到实际传递的MKMapRect.

那么,有一种简单的方法可以在MKcoordinateRegion和MKMapRect之间进行转换吗?也许获得该区域的左上角和右下角坐标,并使用它们来制作MKMapRect?

我在Map Kit函数参考中看不到任何方便的东西.

(使用iOS 5,Xcode 4.2)

mkcoordinateregion mkmapview ios mkmaprect

36
推荐指数
5
解决办法
3万
查看次数

MKMapRect缩放太多了

我使用此代码在我的地图上显示我的所有注释:

 MKMapRect zoomRect = MKMapRectNull;
        for (id <MKAnnotation> annotation in mapView.annotations)
        {
            MKMapPoint annotationPoint = MKMapPointForCoordinate(annotation.coordinate);
            MKMapRect pointRect = MKMapRectMake(annotationPoint.x, annotationPoint.y, 0, 1000);
            if (MKMapRectIsNull(zoomRect)) {
                zoomRect = pointRect;
            } else {
                zoomRect = MKMapRectUnion(zoomRect, pointRect);
            }
        }
        [mapView setVisibleMapRect:zoomRect animated:YES];
Run Code Online (Sandbox Code Playgroud)

但我的问题是,当注释彼此接近时,由于矩形很小,它会缩放太多.

有任何解决这个问题的方法吗?

iphone xcode

3
推荐指数
1
解决办法
3963
查看次数

标签 统计

ios ×1

iphone ×1

mkcoordinateregion ×1

mkmaprect ×1

mkmapview ×1

xcode ×1