Решил это. Выкладываю это для других. Я использую boolReloadMapAllowed в других моих функциях рисования карты. В этом случае он не будет перезагружаться, пока пользователь перемещает его, и ждет до 7 секунд после окончания перемещения, прежде чем перезагрузит карту.
Благодаря { ссылка }, чье сообщение действительно помогло , определить, был ли MKMapView перетащен / перемещен
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
super.touchesMoved(touches, with: event)
boolReloadMapAllowed = false
print("Something moved")
if !(self.tmrMapMove.isValid) {
let mapMoveSelector : Selector = #selector(vwMain.mapMoveOver)
self.tmrMapMove = Timer.scheduledTimer(timeInterval: 7, target:self, selector: mapMoveSelector, userInfo: nil, repeats: true)
}
}
@objc func mapMoveOver() {
boolReloadMapAllowed = true
}