2012-04-22 128 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。」。

相關問題