title: Swift 3 Geofencing issues
body: <p>below some of my code where I have 4 to 5 addresses and I want to monitor it using geofencing. When it starts monitoring the regions, I can see on my console the name of the locations which are correct.</p>
  
  <p>The problem is when simulate to get to one location, it gives me the alert to the wrong location, it is always gives me the Chaus Restaurant and it should be the Schreiner Home one.</p>
  
  <p>I put the break point on the Did enter regions and the code stops there for all regions... Why it just triggers when I enter on the correct location? Right now it takes as I am entering in all of the regions.</p>
  
  <p>this json is what I get back</p>
  
  <pre><code>[
  {
  locationid: 1,
  latitude: 37.8037522,
  longitude: -121.9871216,
  islocationactive: 1,
  locationtitle: "Schreiner's Home",
  locationsubtitle: "Danville"
  },
  {
  locationid: 2,
  latitude: 37.8191921,
  longitude: -122.0071005,
  islocationactive: 1,
  locationtitle: "Montair",
  locationsubtitle: "Elementary School"
  },
  {
  locationid: 3,
  latitude: 37.8186077,
  longitude: -121.999046,
  islocationactive: 1,
  locationtitle: "Chaus Restaurant",
  locationsubtitle: "Americas Eats"
  },
  {
  locationid: 4,
  latitude: 37.7789669,
  longitude: -121.9829908,
  islocationactive: 1,
  locationtitle: "Valley",
  locationsubtitle: "Cheer &amp; Dance"
  }
  ]
  </code></pre>
  
  <p>Thanks
  Rodrigo</p>
  
  <pre><code>func GetAllILocations(){
          if let url = URL(string: "http://www.goemobile.com/mobile/liquidnitro/getlocations.php"){
              var request = URLRequest(url:url)
              request.httpMethod = "POST";// Compose a query string
              let postString = ""
              request.httpBody = postString.data(using: String.Encoding.utf8)
              let task = URLSession.shared.dataTask(with:request) { data, response, error in
  
                  if error != nil{
  
                      return
                  }
                  do {
                      if let convertedJson = try JSONSerialization.jsonObject(with: data!, options: []) as? [[String:Any]] {
  
                          for location in convertedJson {
                              if  ((location["locationid"] as? Int)! &gt; 0) {
                                  let latitude = location["latitude"] as! Double
                                  let longitude = location["longitude"] as! Double
                                  let title = location["locationtitle"] as! String
                                  let subtitle = location["locationsubtitle"] as? String
  
                                  let annotation = MKPointAnnotation()
  
                                  annotation.title = title
                                  annotation.subtitle = subtitle
                                  annotation.coordinate = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
                                  self.mapView.addAnnotation(annotation)
                                  let region = CLCircularRegion(center: (self.locationManger.location?.coordinate)!, radius: 0.5, identifier: title)
                                  self.locationManger .startMonitoring(for: region)
                              }
                          }
                      }
                  }
                  catch let error as NSError {
                      print(error.localizedDescription)
                  }
              }
              task.resume()
          }
      }
  
      func locationManager(_ manager: CLLocationManager, didStartMonitoringFor region: CLRegion) {
          print("Hi \(region.identifier)")
  
      }
  
      func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
          if region is CLCircularRegion {
              let alert = UIAlertController(title: "Alert", message: region.identifier, preferredStyle: .alert)
              let action = UIAlertAction(title: "OK", style: .cancel, handler: nil)
              alert.addAction(action)
              present(alert, animated: true, completion: nil)
          }
      }
  </code></pre>