如何从iOS的Google Place API获取20个以上的可能性地点

时间:2019-11-27 21:37:52

标签: ios swift google-places-api

我想从iOS的Google Place API获取20个以上的可能地点。

findPlaceLikelihoodsFromCurrentLocation(withPlaceFields:callback:)恰好返回附近的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))")
    }
  }
})

1 个答案:

答案 0 :(得分:1)

欢迎来到Stackoverflow!

在iOS SDK中不支持获取20个以上的结果。

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