jwa*_*s91 4 ios google-places-api swift
我正在迁移到新的地方 SDK 4.0
旧的功能是:
findAutocompletePredictions(fromQuery: query,
bounds: bounds,
boundsMode: .bias,
filter: filter,
sessionToken: token) { (prediction, error) in
callback(prediction, error)
}
Run Code Online (Sandbox Code Playgroud)
根据文档的新功能是
findAutocompletePredictions(fromQuery: query,
filter: filter,
sessionToken: token) { (prediction, error) in
callback(prediction, error)
}
Run Code Online (Sandbox Code Playgroud)
我看到边界偏差现在设置在GMSAutocompleteFilter过滤器上
这有一个locationBias我设置的属性,some它需要一个参数<GMSPlaceLocationBias>
我的问题是没有关于这里提供什么的信息......GMSPlaceLocationBias是一个协议,我不知道我的意思是使用明智的对象来提供旧的边界数据。
遵守协议给了我一个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)
}
Run Code Online (Sandbox Code Playgroud)
但显然我的自定义位置模型对象没有确认 GMSPlaceLocationBias 并且是一个结构所以不能使用和错误
我也完全迷失了这一点,但只是在这里的一个指南中找到了一个例子。
简而言之,实现如下所示:
let filter = GMSAutocompleteFilter()
filter.locationBias = GMSPlaceRectangularLocationOption(bounds.northEast, bounds.southWest)
Run Code Online (Sandbox Code Playgroud)
在这里,我使用我之前在 3.x 中使用的相同边界(在我的情况下来自当前显示的地图)来获取东北和西南坐标,但您可以根据您尝试的位置生成自己的偏差结果。
我希望他们刚刚在他们的文档中做出任何指示,表明这是预期的方式。
| 归档时间: |
|
| 查看次数: |
359 次 |
| 最近记录: |