将MKMapView缩放级别设置为某个位置

Deb*_*aha 3 mkmapview ios clgeocoder

我希望设置MKMapView的缩放级别(OR设置区域),以便我可以显示一个位置.用一个例子来阐述我的背景.我有一个位置(CLLocation*),我使用CLGeocoder(反向地理编码)找到了该地点.现在,说地方是'库比蒂诺,加州'地区.如何在MKMapView中找到完全包含Cupertino的区域?

谢谢.

Kam*_*pai 6

MKCoordinateRegion为此创建对象并设置地图视图区域:

CLLocationCoordinate2D location = CLLocationCoordinate2DMake(<LATITUDE>, <LONGITUDE>);
    MKCoordinateRegion region;
    // <LATITUDE> and <LONGITUDE> for Cupertino, CA.

    region = MKCoordinateRegionMake(location, MKCoordinateSpanMake(0.5, 0.5)); 
   // 0.5 is spanning value for region, make change if you feel to adjust bit more

    MKCoordinateRegion adjustedRegion = [self.mapView regionThatFits:region];
    [self.mapView setRegion:adjustedRegion animated:YES];
Run Code Online (Sandbox Code Playgroud)

编辑:

正如您在评论中提到的那样,您需要动态城市圈地.在这种情况下,我们需要地图缩放级别(整数值 - 默认值为0).

这意味着返回城市/坐标和缩放级别的API或Web服务.因此,从该缩放级别,我们可以实现地图跨度/区域计算.

以及从lat/long获取缩放级别的链接:http://troybrant.net/blog/2010/01/set-the-zoom-level-of-an-mkmapview/