2015-03-26 3 views
0

Я использую это для увеличения местоположения пользователей при запуске.Примите меры, если MapKit Map приблизился к местоположению пользователей

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

Просто, на мой взгляд, можно сравнить пролетных значения newRegion с текущего диапазона посмотреть на карте в значения в regionDidChangeAnimated. Если значения диапазона одинаковы, вы можете во второй раз играть с «mapview.region». Может получать видимую mapView.region и сравнивая его с newRegion или получить центра координаты текущей видимой области и сравнивая его с текущим местоположением координатных могут работать.

Смежные вопросы