相关疑难解决方法(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万
查看次数

如何使地图视图居中,使选定的图钉不在地图的中间,而是在地图的 1/3 处?

我的地图上有一个图钉的坐标。我尝试将地图置于该图钉的中心,但我不想将图钉直接放在地图的中间,而是放在屏幕的 1/3 处。我尝试通过以下解决方法来做到这一点:

let coordinateRegion = MKCoordinateRegionMakeWithDistance(coordinatesOfThePin, 500, 500)
mapView.setRegion(coordinateRegion, animated: true)

let frame = mapView.frame
let myPoint = CGPointMake(frame.midX, frame.midY/3)
let myCoordinate = mapView.convertPoint(myPoint, toCoordinateFromView: mapView)

let coordinateRegion2 = MKCoordinateRegionMakeWithDistance(myCoordinate, 500, 500)

mapView.setRegion(coordinateRegion2, animated: true)
Run Code Online (Sandbox Code Playgroud)

但它根据地图的第一个位置显示随机位置。你能帮我重写我的代码,这样我就可以放置一个引脚位置并得到如下结果:

-------------------
|                 |
|                 |
|        X        | <-- my pin in the 1/3 of the visible map area.
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
-------------------
Run Code Online (Sandbox Code Playgroud)

mapkit mkmapview ios mkmapviewdelegate swift

0
推荐指数
1
解决办法
2932
查看次数