     GooglePlacesRequestHelpers.doRequest(
       "https://maps.googleapis.com/maps/api/place/autocomplete/json",
       params: params
-      ) { json in
-        if let predictions = json["predictions"] as? Array<[String: AnyObject]> {
-          self.places = predictions.map { (prediction: [String: AnyObject]) -> Place in
-            return Place(prediction: prediction, apiKey: self.apiKey)
-          }
-          self.delegate?.placesFound?(self.places)
-          completion(self.places)
-
+      ) { json, error in
+        if let json = json{
+            if let predictions = json["predictions"] as? Array<[String: AnyObject]> {
+              self.places = predictions.map { (prediction: [String: AnyObject]) -> Place in
+                return Place(prediction: prediction, apiKey: self.apiKey)
+              }
+              self.delegate?.placesFound?(self.places)
+              completion(self.places, error)
+
+            } else {
+                completion(nil, error)
+            }
+        } else {
+            completion(nil,error)
         }
     }
   }


import UIKit
import CoreLocation

public struct LocationBias {
  public let latitude: CLLocationDegrees


    if let error = serializationError {
      println("GooglePlaces Error: \(error.localizedDescription)")
      done(nil,error)
      return
    }

    if let status = json["status"] as? String {
      if status != "OK" {
        println("GooglePlaces API Error: \(status)")
        let error = NSError(domain: ErrorDomain, code: 1002, userInfo: [NSLocalizedDescriptionKey:status])
        done(nil,error)
        return
      }
    }
    
    done(json,nil)

  }
}
