title: MapBox - detect zoomLevel changes
body: <p>How can I simply detect zoom level changes? Is it possible?</p>
  
  <p>I simply need to hide my annotation views when zoom level is not enough.</p>
  
  <p><code>regionDidChange:animated:</code> is not intended to use for me. Any other way?</p>
  
  <p>I need to hide my labels here:</p>
  
  <p><a href="https://i.stack.imgur.com/9FcTK.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/9FcTK.jpg" alt="enter image description here"></a></p>
  
  <p>and show them here:</p>
  
  <p><a href="https://i.stack.imgur.com/BuFJn.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/BuFJn.jpg" alt="enter image description here"></a></p>
  
  <p>This is what I currently do with my labels:</p>
  
  <pre>
  class CardAnnotation: MGLPointAnnotation {
  
      var card: Card
  
      init(card: Card) {
          self.card = card
          super.init()
  
          let coordinates = card.border.map { $0.coordinate }
          let sumLatitudes = coordinates.map { $0.latitude }.reduce(0, +)
          let sumLongitudes = coordinates.map { $0.longitude }.reduce(0, +)
          let averageLatitude = sumLatitudes / Double(coordinates.count)
          let averageLongitude = sumLongitudes / Double(coordinates.count)
  
          coordinate = CLLocationCoordinate2D(latitude: averageLatitude, longitude: averageLongitude)
      }
  
      required init?(coder aDecoder: NSCoder) {
          fatalError("init(coder:) has not been implemented")
      }
  }
  </pre>
  
  <pre><code>var annotations = [CardAnnotation]()
  mapView.addAnnotations(annotations)
  </code></pre>