2012-04-22 95 views
0

好的,这里的优惠:MapKit:如何将完全相同的投影转换为具有略微不同形状的新实例?

我有两种看法:简单和先进。在iPad上,他们带有一个大屁股地图视图,带有可以移动以指示位置的标记。

每个视图都有不同的MkMapView实例。当我从一个切换到另一个时,我想将地图保持在完全相同的位置和缩放级别,以便用户感觉就像它是相同的地图。

但是,对于每个视图,地图视图的形状稍有不同。这是因为高级搜索在地图上方有更多东西。

当我打开地图(这是从一个抽象超码,所以这两种情况得到的话),我设置区域和标记的位置,像这样:

[mapSearchView setRegion:[mapSearchView regionThatFits:[[BMLTAppDelegate getBMLTAppDelegate] searchMapRegion]]]; 
[myMarker setCoordinate:[[BMLTAppDelegate getBMLTAppDelegate] searchMapMarkerLoc]]; 

searchMapRegion和searchMapMarkerLoc是静态的,并且反映当前显示的地图的区域和标记位置(地图的中心)。

这里的问题:

因为地图是一个稍微不同的形状,总是有一点调整。这可以来回“反弹”,这样,每次切换时地图缩放都会一直下降,直到您看到整个世界。

无论我是否使用regionThatFits都没关系。同样的事情发生,即使有这样的代码:

[mapSearchView setRegion:[[BMLTAppDelegate getBMLTAppDelegate] searchMapRegion]]; 
[myMarker setCoordinate:[[BMLTAppDelegate getBMLTAppDelegate] searchMapMarkerLoc]]; 

所有我想要的,是完全相同的缩放和中心显示。我不在乎先进的观点削减了一些。

如何获得$#@ !! MapKit停止调整缩放因子?

回答

0

只是FYI。我通过创建一个自定义模型图层类来解决这个问题,该类保持了尺度和中心点,并被多个MKMapView使用。它工作得很好,但是MapKit有时会稍微调整一下它的尺寸以适应它的“dete。”。

相关问题