2011-12-13 35 views
1

是否可以使用MapKit在iPhone中顯示地圖,就像我在做的那樣,在地圖上顯示縮放控件?MapKit iPhone顯示屏縮放控件

如果不是,我應該用什麼標誌或方法來增加和縮小縮放比例,所以我可以創建方法,只需按一下按鈕即可完成此操作。

回答

7

它沒有任何內置控件。

一對夫婦的建議:

  1. 用戶可以預先設置一些跨度,並將其存儲在數組中的某個地方,然後你的存儲數組中的位置爲好。放大/縮小會改變位置並獲得跨度。
  2. 在放大由2對當前跨度和分裂時,由2

縮小乘以您在的MapView的區域改變的跨度。所以你必須:

  • 獲取mapView的區域。
  • 獲取該地區的跨度。
  • 更改跨度到你想要的。
  • 將區域跨度設置爲新跨度。
  • 將mapView的區域設置爲新區域。

下面是建議2一些代碼:

MKCoordinateRegion region = mapView.region; 
MKCoordinateSpan span; 
span.latitudeDelta = region.span.latitudeDelta*2; 
span.longitudeDelta = region.span.longitudeDelta*2; 
region.span = span; 
[mapView setRegion:region animated:TRUE]; 
+0

的感謝region財產! swift版本:'var region = mapView.region; var span = MKCoordinateSpan(); span.latitudeDelta = region.span。latitudeDelta * 2; span.longitudeDelta = region.span.longitudeDelta * 2; region.span = span; mapView.setRegion(region,animated:true);' –

0

關閉我的頭頂我不記得(在窗口框中工作),如果有一個開關來顯示縮放控件。我假設你正在討論顯示縮放級別,因爲默認情況下,你可以捏住/擴大視圖進行縮放。

如果沒有顯示控件的開關,則需要創建自定義視圖圖層並將其放置在mapkit視圖的頂部。然後,您將需要調用不同的功能來更改縮放級別。

這些函數全部記錄在mapkit文檔中。只需在文檔中心搜索MapKit即可。

編輯: http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapView_Class/MKMapView/MKMapView.html#//apple_ref/doc/uid/TP40008205

按照文檔沒有顯示該控制開關,而變焦enabled屬性,讓您打開的能力和關閉。

因此,您可以訂閱委託函數regionWillChange並使用mapView對象獲取縮放級別,然後相應地設置您的圖形。

1

我不認爲你應該做的,以放大和縮小的預期的方式是使用捏手勢。不過,如果你仍想繼續前進,這樣做,你應該把自己的按鈕在MKMapView,然後用這些修改MKMapView