如何在最新的iOS6中将地图区域限制为仅一个国家/地区?

如何在最新的iOS6中将地图区域限制为仅一个国家/地区?,ios,ios6,mapkit,limit,region,Ios,Ios6,Mapkit,Limit,Region,我正在使用mapkit为iOS6制作一个应用程序。我想将地图的边界仅限于特定的地区/国家。有办法做到这一点吗 这里已经讨论了这个问题: 唯一不同的是,可能的解决方案是ios5您需要制作一个CLLocationCorrdinate2D,然后使用它制作一个区域,然后将地图视图设置为该区域。以下是设置为爱尔兰的地图示例: CLLocationCoordinate2D ireland = CLLocationCoordinate2DMake(53.317749,-7.959643); [self.map

我正在使用mapkit为iOS6制作一个应用程序。我想将地图的边界仅限于特定的地区/国家。有办法做到这一点吗

这里已经讨论了这个问题:
唯一不同的是,可能的解决方案是ios5

您需要制作一个
CLLocationCorrdinate2D
,然后使用它制作一个区域,然后将地图视图设置为该区域。以下是设置为爱尔兰的地图示例:

CLLocationCoordinate2D ireland = CLLocationCoordinate2DMake(53.317749,-7.959643);
[self.mapView setRegion: MKCoordinateRegionMakeWithDistance(ireland, 500000, 30000)];
[self.mapView setMapType: MKMapTypeStandard];
根据您测试的对象,它看起来会像这样:
最后2个区域的makewithdistance是跨度的lat/long,单位为米。您所做的位置是地图的中心点。如果你只想限制到那个区域,你需要关闭地图视图的滚动和缩放功能。

你不能这样做,只要不是所有国家都是矩形(或者iPhone的屏幕都是你国家的形状)。我觉得用矩形近似就可以了。在这种情况下有可能吗?为什么这个解决方案不好?如果我没有弄错的话,这个解决方案在IOS6中不起作用谢谢你的评论。在您的解决方案中,不可能在区域内放大,不是吗?我需要设置地图的边界以及放大;然后你可以放大。但是,这并不能阻止它们缩小。您可以尝试设置[self.mapView setZoomEnabled:YES];和[self.mapView setscollenabled:NO];然后他们可以放大和缩小,但你所做的坐标始终是地图的中心。埃塔:你会希望他们放大时能够滚动。这很有效,我刚刚试过。它不会阻止你向外滚动,但当你这样做时,它会返回到你的区域,它还允许在你的区域内滚动和缩放。这是第二个答案,你可以滚动一点,然后它会反弹回来。据我所知,当它到达边界时,没有办法让它停止滚动。(你可能可以用覆盖层来做这件事,但这是我从未尝试过的。)此外,在地图视图中移动只会在你在其中移动时更新。持续监控用户的位置会减慢应用程序的运行速度并缩短电池寿命。滚动出一个区域与用户进入一个新区域不同。