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
如何从google place api for iOS获取20多个可能的位置_Ios_Swift_Google Places Api - Fatal编程技术网

如何从google place api for iOS获取20多个可能的位置

如何从google place api for iOS获取20多个可能的位置,ios,swift,google-places-api,Ios,Swift,Google Places Api,我想从google place api for iOS获取20多个可能的位置 从CurrentLocationWithPlaceFields中查找PlaceLikeLikeLihoods:callback:返回恰好20个附近的位置 我无法指定要获取的位置和类型 javaScript api似乎能够指定半径并获取60个位置 Q1有没有办法拿到20多个可能的位置 问题2:是否有任何方法可以获取某些类型的场所,例如仅获取附近20家超市 let fields: GMSPlaceField = GMSPl

我想从google place api for iOS获取20多个可能的位置

从CurrentLocationWithPlaceFields中查找PlaceLikeLikeLihoods:callback:返回恰好20个附近的位置

我无法指定要获取的位置和类型

javaScript api似乎能够指定半径并获取60个位置

Q1有没有办法拿到20多个可能的位置

问题2:是否有任何方法可以获取某些类型的场所,例如仅获取附近20家超市

let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
                                          UInt(GMSPlaceField.placeID.rawValue))!
placesClient?.findPlaceLikelihoodsFromCurrentLocation(withPlaceFields: fields, callback: {
  (placeLikelihoodList: Array<GMSPlaceLikelihood>?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }

  if let placeLikelihoodList = placeLikelihoodList {
    for likelihood in placeLikelihoodList {
      let place = likelihood.place
      print("Current Place name \(String(describing: place.name)) at likelihood \(likelihood.likelihood)")
      print("Current PlaceID \(String(describing: place.placeID))")
    }
  }
})

欢迎来到Stackoverflow

ios SDK不支持获取超过20个结果


唯一的解决方法是切换到,并使用json过滤结果。在JSON响应中有一个pagetoken字段,您可以将其追加并获取所有结果。但是,这需要多个API调用,每个API调用都具有来自上一个响应的唯一pagetoken

多谢各位。这解决了我的第二个问题。我可以找到一种按类型过滤的方法。但文档指出,pagetoken从以前运行的搜索中返回多达20个结果。获得20多个结果的诀窍是什么?我问题的最后部分回答了这个问题。如果有更多结果可用,则每个API调用都将返回一个页面标记。然后需要使用该页面标记进行另一个API调用。有关更多信息,请阅读此页。如果这对您有帮助,请将此问题标记为正确!我还为此创建了一个包装器,以获取超过20个位置,请看一看。