MapKit iPhone显示屏缩放控件
问题描述:
是否可以使用MapKit在iPhone中显示地图,就像我在做的那样,在地图上显示缩放控件?MapKit iPhone显示屏缩放控件
如果不是,我应该用什么标志或方法来增加和缩小缩放比例,所以我可以创建方法,只需按一下按钮即可完成此操作。
答
它没有任何内置控件。
一对夫妇的建议:
- 用户可以预先设置一些跨度,并将其存储在数组中的某个地方,然后你的存储数组中的位置为好。放大/缩小会改变位置并获得跨度。
- 在放大由2对当前跨度和分裂时,由2
缩小乘以您在的MapView的区域改变的跨度。所以你必须:
- 获取mapView的区域。
- 获取该地区的跨度。
- 更改跨度到你想要的。
- 将区域跨度设置为新跨度。
- 将mapView的区域设置为新区域。
下面是建议2一些代码:
MKCoordinateRegion region = mapView.region;
MKCoordinateSpan span;
span.latitudeDelta = region.span.latitudeDelta*2;
span.longitudeDelta = region.span.longitudeDelta*2;
region.span = span;
[mapView setRegion:region animated:TRUE];
答
关闭我的头顶我不记得(在窗口框中工作),如果有一个开关来显示缩放控件。我假设你正在讨论显示缩放级别,因为默认情况下,你可以捏住/扩大视图进行缩放。
如果没有显示控件的开关,则需要创建自定义视图图层并将其放置在mapkit视图的顶部。然后,您将需要调用不同的功能来更改缩放级别。
这些函数全部记录在mapkit文档中。只需在文档中心搜索MapKit即可。
按照文档没有显示该控制开关,而变焦enabled属性,让您打开的能力和关闭。
因此,您可以订阅委托函数regionWillChange并使用mapView对象获取缩放级别,然后相应地设置您的图形。
答
我不认为你应该做的,以放大和缩小的预期的方式是使用捏手势。不过,如果你仍想继续前进,这样做,你应该把自己的按钮在MKMapView
,然后用这些修改MKMapView
的感谢
region
财产! swift版本:'var region = mapView.region; var span = MKCoordinateSpan(); span.latitudeDelta = region.span。latitudeDelta * 2; span.longitudeDelta = region.span.longitudeDelta * 2; region.span = span; mapView.setRegion(region,animated:true);' –