IOS7将MapView限制为某个区域或区域
是否有人知道如何将地图视图限制在某个区域,但仍允许在该区域内缩放和滚动,但锁定地图,使其不会超出该区域。我尝试过使用UIScrollViewDelegate,但它不适用于IOS6及更高版本。我还尝试使用regiondidchanged,但这不会锁定区域外的滚动和平移 谢谢IOS7将MapView限制为某个区域或区域,ios7,mkmapview,mkoverlay,Ios7,Mkmapview,Mkoverlay,是否有人知道如何将地图视图限制在某个区域,但仍允许在该区域内缩放和滚动,但锁定地图,使其不会超出该区域。我尝试过使用UIScrollViewDelegate,但它不适用于IOS6及更高版本。我还尝试使用regiondidchanged,但这不会锁定区域外的滚动和平移 谢谢 John我以前在regiondidchanged方法中做过。 事实上,如果地图的中心位于定义的区域(测试纬度和经度)之外,只需将地图重置为区域的中心 if(![self isValid:self.mapView.center]
John我以前在regiondidchanged方法中做过。 事实上,如果地图的中心位于定义的区域(测试纬度和经度)之外,只需将地图重置为区域的中心
if(![self isValid:self.mapView.center])
[self.mapView setRegion:defaultValidRegion animated:YES];
编辑
你试过考虑这个项目吗?这似乎是对应的,只是他的算法在搜索mapView的滚动视图时有一个问题,但我认为可以通过替换
UIScrollView * scroll = [[[[mapView subviews] objectAtIndex:0] subviews] objectAtIndex:0];
借
尝试在调试器中使用此命令在视图层次结构中找到正确的scrollview
po [self.mapView recursiveDescription]
那没用。调用regionDidChangeAnimated太晚了。调用该事件时,地图视图已更改。我需要防止在用户看不到地图视图的情况下移动区域,可能是通过滚动或其他方式。
po [self.mapView recursiveDescription]