我正在使用MKMapView,我正在这样初始化:
homeLocation.latitude = 42.033126;
homeLocation.longitude = -70.168621;
[self.mapView setCenterCoordinate:homeLocation animated:NO];
MKCoordinateRegion viewRegion;
viewRegion.center = homeLocation;
viewRegion.span = MKCoordinateSpanMake(1.7, 1.7);
[self.mapView setRegion:[self.mapView regionThatFits:viewRegion] animated:NO];
这是我的应用
这很好,除了我的应用程序,我需要将它缩小一点点。但是当我尝试这个时:
viewRegion.span = MKCoordinateSpanMake(1.8, 1.8); // use span of 1.8, not 1.7
我明白了:
它缩小了出路。如果我查看MKMapView的区域,latitudeDelta i 3.54981和longitudeDelta是3.51562。
如何将我的跨度设置为1.7到3.5之间的值?对于这个特殊的应用程序,我很想达到2.25左右。
注意:mapview捏缩放到我想要的任何范围。
答案 0 :(得分:1)
MKCoordinateSpanMake使用度数,1度约69英里。如果您想要更细粒度的设置,请改用MKCoordinateRegionMakeWithDistance。
CLLocationCoordinate2D homeLocation;
homeLocation.latitude = 42.033126;
homeLocation.longitude = -70.168621;
[self.mapView setCenterCoordinate:homeLocation animated:NO];
MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance( homeLocation, 200000, 200000);
// 200000 meter is approximately 1.8 degree
[self.mapView setRegion:[self.mapView regionThatFits:viewRegion] animated:NO];
答案 1 :(得分:0)
您是否尝试过该设备?有时我对设备上的缩放级别的控制比对模拟器的控制更多。