我正在使用mapkit爲iOS設計一個應用程序。我想限制地圖的邊界僅限於特定的地區/國家。有沒有辦法做到這一點?我怎樣才能將地圖區域限制在最新的iOS6中只有一個國家?
的問題已經在這裏討論: how can I limit the map area to only one country in iOS? 與可能的解決方案是爲iOS 5 的唯一的區別。
我正在使用mapkit爲iOS設計一個應用程序。我想限制地圖的邊界僅限於特定的地區/國家。有沒有辦法做到這一點?我怎樣才能將地圖區域限制在最新的iOS6中只有一個國家?
的問題已經在這裏討論: how can I limit the map area to only one country in iOS? 與可能的解決方案是爲iOS 5 的唯一的區別。
您需要製作一個CLLocationCorrdinate2D
然後使用它來製作一個區域,然後將您的地圖視圖設置爲該區域。這裏是一個地圖設置爲愛爾蘭的例子:
CLLocationCoordinate2D ireland = CLLocationCoordinate2DMake(53.317749,-7.959643);
[self.mapView setRegion: MKCoordinateRegionMakeWithDistance(ireland, 500000, 30000)];
[self.mapView setMapType: MKMapTypeStandard];
它會是這個樣子取決於你正在測試的內容: 那些過去2號RegionMakeWithDistance都緯度/長跨度以米爲單位。你所做的CLLocation是地圖的中心點。如果您只想限制該區域,則需要關閉地圖視圖的滾動和縮放功能。
感謝您的評論。在你的解決方案中,不可能在區域內放大,不是嗎?我需要設置地圖邊界以及放大。 – user1895675
[self.mapView setZoomEnabled:YES];那麼你可以放大。但是,它不會阻止它們縮小。 – lciamp
你可以嘗試設置[self.mapView setZoomEnabled:YES];和[self.mapView setScrollEnabled:NO];那麼他們可以放大和縮小,但是您製作的座標將始終是地圖的中心。 ETA:當他們放大時,你會希望他們能夠滾動。 – lciamp
只要不是所有的國家都有矩形形狀(或者iPhone的屏幕具有您所在國家的形狀),您就無法做到這一點。 – 2012-12-11 19:03:31
矩形的逼近對我來說很好。在這種情況下可能嗎? – user1895675
爲什麼解決方案不好? – 2012-12-11 20:39:16