如何从 google 地点 api 中获取超过 20 个可能性地点 iOS

How to fetch more than 20 likelihood places from google place api for iOS

我想从 iOS 的 google 地点 api 获取超过 20 个可能性的地点。

findPlaceLikelihoodsFromCurrentLocation(withPlaceFields:callback:) returns 恰好 20 个附近的地点。

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

javaScript api好像可以指定半径,取60个地方

Q1) 有什么方法可以获取超过20个似然位吗?

Q2) 有什么方法可以获取某些类型的地点(例如只获取附近的 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))")
    }
  }
})

欢迎使用 Whosebug!

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

解决此问题的唯一方法是切换到 web API,并使用 json 来过滤您的结果。在 JSON 响应中有一个 pagetoken 字段,您可以附加该字段并获得所有结果,但是,这需要多次 API 调用,每个调用都有自己独特的 pagetoken 来自之前的回应。