MKMapView中心和跨度不一致

时间:2014-03-16 13:18:53

标签: ios iphone

我已将我的问题归结为: 1.我使用mapkit框架和地图功能创建了一个新项目。 2.我将#import MapKit / MapKit.h添加到我的... controller.h中 3.我在故事板上放了两个MKMapView(一个是.5 alpha)和两个按钮。 然后这是我的... controller.m:

#import "MapTestViewController.h"

@interface MapTestViewController ()

@end

@implementation MapTestViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)pressedbutton200:(id)sender {
    _mapView1.frame= CGRectMake(75, 75, 150, 150);
    _mapView2.frame= CGRectMake(0, 0, 300, 300);
   _mapView1.region= MKCoordinateRegionMakeWithDistance(CLLocationCoordinate2DMake(42.406206, -77.224446), 200, 200);
   _mapView2.region= MKCoordinateRegionMakeWithDistance(CLLocationCoordinate2DMake(42.406206, -77.224446), 400, 400);
}
- (IBAction)pressedbutton20000:(id)sender {
    _mapView1.frame= CGRectMake(75, 75, 150, 150);
    _mapView2.frame= CGRectMake(0, 0, 300, 300);
   _mapView1.region= MKCoordinateRegionMakeWithDistance(CLLocationCoordinate2DMake(42.406206, -77.224446), 20000, 20000);
   _mapView2.region= MKCoordinateRegionMakeWithDistance(CLLocationCoordinate2DMake(42.406206, -77.224446), 40000, 40000);
}
@end

按下按钮200即可: Button200 pressed 按下按钮20000给出: enter image description here 这些图像似乎在纬度和经度均匀移动。

问题: 1.为什么图像没有排列在同一跨度?

我认为他们应该为像素排列像素的原因是两个地图视图在屏幕上具有相同的中心,他们被告知在相同的中心坐标处绘制,并且两个mapView的像素比例应该与mapView2相同屏幕上的宽度是mapView1的两倍,mapView2的填充量是mapView1的两倍。

他们似乎肯定会在拉特转移,中心lon似乎没问题,但离中心lon不远。

此外,使用在不同地图跨度上绘制的两个按钮,移位大致相同的屏幕像素。

如果它很重要,我认为较小的mapView1是正确的图像,因为我使用的坐标是街道交叉点的中心,根据谷歌地球,并且该交点在较小的地图视图中以像素为中心。

我希望我已经将这个问题简化为尽可能简单的案例。 谢谢,卡门

1 个答案:

答案 0 :(得分:0)

所以这似乎只是苹果野兽的方式。 我已切换到Google Maps API,我非常高兴。以上都没有废话。 我得到的地图实际上在地图视图的像素中心有一个中心点,我可以指定一个精确的缩放级别并实际获得它。 另外一个好处是我可以在任何标题处绘制地图并填充地图视图,它不会在视图上留下空角,就像我在桌子上旋转纸质地图一样。 卡门