[英]MapKit iPhone display Zoom Controls
是否可以像我一样使用MapKit在iPhone中显示地图,以便在地图上显示缩放控件?
如果没有,我应该使用哪些标志或方法来增大和减小缩放,因此我可以创建按一下按钮即可执行此操作的方法。
没有任何内置控件。
一些建议:
您可以在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];
我认为您不应该这样做,放大和缩小的预期方式是使用捏合手势。 但是,如果您仍然想继续进行操作,则应将按钮放置在MKMapView
,然后使用它们修改MKMapView
的region
属性。
对于Swift 4,这是我使用的方法:
func zoom(_ zoomin : Bool) {
var region = mapView.region;
var span = MKCoordinateSpan();
span.latitudeDelta = zoomin ? region.span.latitudeDelta / 2 : region.span.latitudeDelta * 2;
span.longitudeDelta = zoomin ? region.span.longitudeDelta / 2 : region.span.longitudeDelta * 2;
region.span = span;
mapView.setRegion(region, animated: true);
}
在我的头顶上,我不记得(在Windows框上工作)是否有一个开关来显示缩放控件。 我假设您正在谈论显示缩放级别,因为默认情况下,您可以收缩/展开视图以进行缩放。
如果没有用于显示控件的开关,则需要创建一个自定义视图图层并将其放在mapkit视图的顶部。 然后,您将需要调用不同的功能来更改缩放级别。
这些功能都记录在mapkit文档中。 只需在文档中心内搜索MapKit。
编辑: http : //developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapView_Class/MKMapView/MKMapView.html#//apple_ref/doc/uid/TP40008205
根据文档,没有显示控件的开关,但是启用了zoom的属性使您可以打开或关闭该功能。
因此,您可以订阅委托函数regionWillChange并使用mapView对象获取缩放级别,然后相应地设置图形。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.