我正在使用它来放大启动时的用户位置。
func locationManager(manager:CLLocationManager, didUpdateLocations locations:[AnyObject]) {
var locationArray = locations as NSArray
var locationObj = locationArray.lastObject as CLLocation
var coord = locationObj.coordinate
var newRegion = MKCoordinateRegion(center: coord, span: MKCoordinateSpanMake(spanX, spanY))
mapView.setRegion(newRegion, animated: true)
}
现在,如果地图已缩放到用户位置,我想采取行动。我尝试过使用mapDidChange委托方法,但是这种方法被解雇了几次。有什么想法如何巧妙地做到这一点? (iOS 8 / Swift)
答案 0 :(得分:0)
在我看来,您可以将 newRegion的span 值与regionDidChangeAnimated中的地图视图的当前范围值进行比较。如果跨度值相同,则可以继续使用“mapview.region”。可以获得可见的mapView.region ,并将其与 newRegion 进行比较,或者获取当前可见区域的中心坐标,并将其与当前位置进行比较坐标可以工作。