2012-12-11 16 views
4

我正在使用mapkit爲iOS設計一個應用程序。我想限制地圖的邊界僅限於特定的地區/國家。有沒有辦法做到這一點?我怎樣才能將地圖區域限制在最新的iOS6中只有一個國家?

的問題已經在這裏討論: how can I limit the map area to only one country in iOS? 與可能的解決方案是爲iOS 5 唯一的區別。

+0

只要不是所有的國家都有矩形形狀(或者iPhone的屏幕具有您所在國家的形狀),您就無法做到這一點。 – 2012-12-11 19:03:31

+0

矩形的逼近對我來說很好。在這種情況下可能嗎? – user1895675

+0

爲什麼解決方案不好? – 2012-12-11 20:39:16

回答

2

您需要製作一個CLLocationCorrdinate2D然後使用它來製作一個區域,然後將您的地圖視圖設置爲該區域。這裏是一個地圖設置爲愛爾蘭的例子:

CLLocationCoordinate2D ireland = CLLocationCoordinate2DMake(53.317749,-7.959643); 
[self.mapView setRegion: MKCoordinateRegionMakeWithDistance(ireland, 500000, 30000)]; 
[self.mapView setMapType: MKMapTypeStandard]; 

它會是這個樣子取決於你正在測試的內容: enter image description here 那些過去2號RegionMakeWithDistance都緯度/長跨度以米爲單位。你所做的CLLocation是地圖的中心點。如果您只想限制該區域,則需要關閉地圖視圖的滾動和縮放功能。

+0

感謝您的評論。在你的解決方案中,不可能在區域內放大,不是嗎?我需要設置地圖邊界以及放大。 – user1895675

+0

[self.mapView setZoomEnabled:YES];那麼你可以放大。但是,它不會阻止它們縮小。 – lciamp

+0

你可以嘗試設置[self.mapView setZoomEnabled:YES];和[self.mapView setScrollEnabled:NO];那麼他們可以放大和縮小,但是您製作的座標將始終是地圖的中心。 ETA:當他們放大時,你會希望他們能夠滾動。 – lciamp

相關問題