我目前仍然坚持使用此功能,用户需要根据距离来确定附近的地点。
例如: - 如果我搜索" Kochi"而我在印度 然后高知在印度和日本 所以结果应该是这样的 1.印度高知 2.日本高知
这只是一个例子,用户还可以搜索地标,城市,街道等。但我希望所有结果按距离排序。崩溃结果将首先显示然后显示远处。但无法根据要求获得结果。
类似的功能在android上完成,他们通过传递半径(比当前位置500公里)
使用它到目前为止我尝试了什么: -
GMSPlacesClient().autocompleteQuery(txtLocation.text!, bounds: bounds, filter: filter, callback: {(results, error) -> Void in
if let error = error {
print("Autocomplete error \(error)")
return
}
if let results = results {
}
})
GooglePlaces.placeAutocomplete(forInput: self.txtLocation.text!, offset: 0, locationCoordinate: nil, radius: nil, language: nil, types: [GooglePlaces.PlaceType.Regions], components: nil, completion: { (response, error) in
// To do
})
答案 0 :(得分:0)
我正在使用相同的GoogleMaps API。我按照您的要求执行相同的操作,但是通过不同的方式附加代码,我按下按钮进行搜索'搜索'您可以将边界设置为坐标或地图视图框。在下面,它目前正在使用用户当前位置的边界,然后它的工作方式从我认为这工作接近完美:
let autoCompleteController = GMSAutocompleteViewController()
autoCompleteController.delegate = self as! GMSAutocompleteViewControllerDelegate
// Set bounds to map viewable region
let visibleRegion = googleMaps.projection.visibleRegion()
let bounds = GMSCoordinateBounds(coordinate: visibleRegion.farLeft, coordinate: visibleRegion.nearRight)
// New Bounds now set to User Location so choose closest destination to user.
let predictBounds = GMSCoordinateBounds(coordinate: userLocation.coordinate, coordinate: userLocation.coordinate)
autoCompleteController.autocompleteBounds = predictBounds
// Set autocomplete filter to no filter to include all types of destinations.
let addressFilter = GMSAutocompleteFilter()
addressFilter.type = .noFilter
autoCompleteController.autocompleteFilter = addressFilter
// Change text color
UISearchBar.appearance().setTextColor(color: UIColor.black)
self.present(autoCompleteController, animated: true, completion: nil)

我遇到了Google方向的问题并获得了计算出的距离和里程数,如果您有任何可能对我有帮助的代码!