2011-08-03 49 views
0

如果我想要一個地圖視圖來顯示特定的地圖區域(每次應用程序啓動時都是一樣的?),我該如何設置它? 另外,可以防止用戶從該區域滾動,並且還可以防止用戶滾動得太遠?如何在第一次運行時顯示地圖視圖特定區域?

+0

你找到一個解決方案,以防止用戶從區域滾動離開,同時仍然能夠放大? – Ares

回答

4

1.特定區域

MKCoordinateRegion predefinedRegion; 
[mapView setRegion:predefinedRegion animated:YES]; 

2.防止滾動

mapView.scrollEnabled = NO; 

3.防止變焦

mapView.zoomEnabled = NO; 

如果你只是想限制縮放級別,它會更復雜一點,因爲縮放有效地改變了區域。管理此的最佳方法可能是使用MKMapViewDelegate協議方法,如mapView:regionWillChangeAnimated:

乾杯,
薩沙

+0

同意。小小的補充:雖然我建議在'[mapView setRegion:animated:]'中爲'animated'傳遞'NO',以便應用程序立即顯示區域,而不是在啓動時從世界視圖中放大。如果應用程序想要將某個人限制在某個地區,那麼先向全世界展示他們然後限制他們 - 這可能會讓用戶感到困惑。 – Matt

+0

謝謝。只是爲了將來的參考,設置區域你做這樣的事情(對於中央倫敦):predefinedRegion.span.latitudeDelta = 0.010f; predefinedRegion.span.longitudeDelta = 0.010f; predefinedRegion.center.latitude = 51.512f; predefinedRegion.center .longitude = -0.144f; – cannyboy

+0

@Matt你是絕對正確的:-)。 – Mundi

相關問題