Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谷歌地图iOS SDK只适用于一个地区?ios斯威夫特_Ios_Swift - Fatal编程技术网

谷歌地图iOS SDK只适用于一个地区?ios斯威夫特

谷歌地图iOS SDK只适用于一个地区?ios斯威夫特,ios,swift,Ios,Swift,有谁能告诉我,如何只在特定地区使用谷歌mMp,比如迪拜?我想搜索餐厅、咖啡馆、杂货店等,但只搜索迪拜地区? 我已经为全球做了谷歌地图API,但我不想这样,请帮我在迪拜的一个地区做。 下面是我应用的API。 func fetchNearBySearchPlaces(类型:String,位置:String) { let progressHUD = MBProgressHUD.showHUDAddedTo(self.view, animated: true) progressHUD.l

有谁能告诉我,如何只在特定地区使用谷歌mMp,比如迪拜?我想搜索餐厅、咖啡馆、杂货店等,但只搜索迪拜地区? 我已经为全球做了谷歌地图API,但我不想这样,请帮我在迪拜的一个地区做。 下面是我应用的API。 func fetchNearBySearchPlaces(类型:String,位置:String)

{
    let progressHUD = MBProgressHUD.showHUDAddedTo(self.view, animated: true)
    progressHUD.label.text = "Loading..."

    let par = NSString(format:"location=%@&radius=%@&types=%@&key=%@",location,"5000",type,serverKey)

    let url = NSURL(string: "https://maps.googleapis.com/maps/api/place/nearbysearch/json?\(par)")
    print(url)
        let request = NSMutableURLRequest(URL:url!)

    request.HTTPMethod = "GET"
    request.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringCacheData
    let session = NSURLSession.sharedSession()

    let task = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in
      dispatch_async(dispatch_get_main_queue(), {
            let dict :NSDictionary?
            do
            {

                dict = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.AllowFragments) as? NSDictionary
                  print("ASynchronous\(dict)")
                let status = dict?.valueForKey("status") as! String
                if status == "OK"
                {

                    self.latLongArray = []
                    self.allMapDataArray = []
                      print(self.latLongArray)
                    let results = dict?.valueForKey("results") as! NSArray
                    print(results)
                    // let latLongArray = NSMutableArray()
                    for result in results
                    {
                        let location = result.valueForKey("geometry")!.valueForKey("location") as! NSDictionary


                        self.latLongArray.addObject(location)
                        self.allMapDataArray.append(result as! NSDictionary)


                  }
                    //self.mapView.clear()
                 self.restaurantsTable.reloadData()
                    self.particularMarkerCollectionView.reloadData()
               print(self.latLongArray)
                 print(self.allMapDataArray)

                    let path = GMSMutablePath()
                    print(self.latLongArray)
                    for latlong in self.latLongArray
                    {

                        let lattitude : Double = Double(latlong.valueForKey("lat")as! NSNumber)
                        let longitude  : Double = Double(latlong.valueForKey("lng")as! NSNumber)

                        let marker = GMSMarker()
                        marker.position = CLLocationCoordinate2D(latitude: lattitude, longitude: longitude)

                        //marker.title = "Austrilia"
                        marker.icon = UIImage(named:"marker")

                        marker.appearAnimation = kGMSMarkerAnimationNone
                        marker.map = self.mapView

                        path.addCoordinate(CLLocationCoordinate2DMake(lattitude, longitude))
                                               }

                    let bounds = GMSCoordinateBounds(path: path)
                    self.mapView.animateWithCameraUpdate(GMSCameraUpdate.fitBounds(bounds, withPadding: 50.0))


                    progressHUD.hideAnimated(true)
                    progressHUD.hidden = true
        }


                else
                {

                    progressHUD.hideAnimated(true)
                    progressHUD.hidden = true

                    let messageAlert = UIAlertController(title: "Alert", message: "No Data Found", preferredStyle: .Alert)
                    let defaultAction = UIAlertAction(title: "OK", style: .Default, handler: nil)
                    messageAlert.addAction(defaultAction)
                    self.presentViewController(messageAlert, animated: true, completion: nil)
                }

            }


            catch let error as NSError
            {
                progressHUD.hideAnimated(true)
                progressHUD.hidden = true
                print(error.localizedDescription)
            }

     })
    })

    task.resume()




}