我正在迁移到新的places SDK 4.0
以前的乐趣是:
findAutocompletePredictions(fromQuery: query,
bounds: bounds,
boundsMode: .bias,
filter: filter,
sessionToken: token) { (prediction, error) in
callback(prediction, error)
}根据文档,新的函数是
findAutocompletePredictions(fromQuery: query,
filter: filter,
sessionToken: token) { (prediction, error) in
callback(prediction, error)
}我看到现在已经在GMSAutocompleteFilter过滤器上设置了边界偏差
它有一个locationBias属性,我在其中设置了some,它的参数是<GMSPlaceLocationBias>
我的问题是,这里没有关于提供什么的信息……GMSPlaceLocationBias是一个协议,我不知道我打算使用object wise来提供旧的边界数据。
遵守协议给了我填充locationBiasURLQueryItem的乐趣,没有进一步的文档说明这个函数应该包含什么内容
所以我被卡住了,无法升级,因为似乎没有明确的前进方向。
有谁有什么想法吗?文档在此:https://developers.google.com/places/ios-sdk/reference/interface_g_m_s_places_client#ab60773feec0e68751c5a7f1066b9d252)
我构建过滤器的尝试是:
let filter = GMSAutocompleteFilter()
if case .location(let location) = _locationController.locationStatus {
filter.locationBias = .some(location)
}但很明显,我的自定义位置模型对象不符合GMSPlaceLocationBias,并且是一个结构,因此不能使用,因此会出错
发布于 2020-10-16 03:10:14
我也完全迷失在这一点上,但我只是在其中一本指南here中找到了一个例子。
简而言之,实现如下所示:
let filter = GMSAutocompleteFilter()
filter.locationBias = GMSPlaceRectangularLocationOption(bounds.northEast, bounds.southWest)在这里,我使用以前在3.x中使用的相同边界(在我的例子中,来自当前显示的地图)来获取这些northEast和southWest坐标,但您可以根据您试图在何处偏置结果来生成自己的坐标。
我希望他们只是在他们的文档中做出了任何指示,表明这是实现这一目标的预期方式。
https://stackoverflow.com/questions/64354772
复制相似问题