Уклон Google Places приводит к определенному региону
Я использую официальную Документацию Google для создания поиска адреса.
В версии для Android я могу сместить результат в моей области.
Например, набрав "123 Main St", вы увидите Main st в моем городе, прежде чем показывать мне другие результаты.
В iOS я не могу понять, как это сделать. Я использую "Добавить полноэкранный контроль" с GMSAutocompleteViewController
делегировать.
E сть GMSCoordinateBounds
но пример для карты. Я не использую карту.
Я возился с чем-то вроде этого, но не могу заставить его работать. Я даже на правильном пути?
- (void) placeAutocomplete : (NSString*) location : Bounds:(GMSCoordinateBounds *)bounds{
[_placesClient autocompleteQuery:location
bounds:bounds
filter:filter
callback:^(NSArray *results, NSError *error) {
if (error != nil) {
NSLog(@"Autocomplete error %@", [error localizedDescription]);
return;
}
for (GMSAutocompletePrediction* result in results) {
NSLog(@"Result '%@' with placeID %@", result.attributedFullText.string, result.placeID);
}
}];
}
Любая помощь?
2 ответа
Вы можете установить границы на GMSAutocompleteViewController
напрямую, например:
// Present the Autocomplete view controller when the button is pressed.
@IBAction func autocompleteClicked(_ sender: UIButton) {
let autocompleteController = GMSAutocompleteViewController()
autocompleteController.delegate = self
// Set bounds to inner-west Sydney Australia.
let neBoundsCorner = CLLocationCoordinate2D(latitude: -33.843366,
longitude: 151.134002)
let swBoundsCorner = CLLocationCoordinate2D(latitude: -33.875725,
longitude: 151.200349)
let bounds = GMSCoordinateBounds(coordinate: neBoundsCorner,
coordinate: swBoundsCorner)
autocompleteController.bounds = bounds
present(autocompleteController, animated: true, completion: nil)
}
Создайте границы на основе вашего местоположения и установите его как границы GMSAutocompleteViewController
func presentAddressFinder(){
let autocompleteController = GMSAutocompleteViewController()
autocompleteController.delegate = self
let bounds = GMSCoordinateBounds()
autocompleteController.autocompleteBounds = bounds.includingCoordinate(currentLocation)
present(autocompleteController, animated: true, completion: nil)
}
Вот currentLocation
текущее местоположение устройства в CLLocationCoordinate2D!