2017-09-04 5 views
0

Je suis en train d'effectuer la saisie semi-automatique Google à l'aide de Google Adresses dans Swift 3.0. Mais j'ai besoin de chercher en fonction de mon emplacement actuel. Exemple, Si je suis à Kolkata, en Inde et je tape mot-clé de recherche "Ko", il montrera les résultats de Kolkata d'abord.Saisie semi-automatique de google avec recherche locale

Quelqu'un peut-il m'aider? Voici mon code. importer des GooglePlaces dans ma classe

@IBAction func txtFieldLocationDidStartEditing(_ sender: Any) { 
    self.placeAutocomplete() 
} 
func placeAutocomplete() { 
    let autocompleteController = GMSAutocompleteViewController() 
     autocompleteController.delegate = self 
    present(autocompleteController, animated: true, completion: nil) 
} 

// MARK: - Les délégués saisie semi-automatique

func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) { 
    print("Place name: \(place.name)") 
    dismiss(animated: true, completion: nil) 
} 

func viewController(_ viewController: GMSAutocompleteViewController, didFailAutocompleteWithError error: Error) { 
    // TODO: handle the error. 
    print("Error: ", error.localizedDescription) 
} 

// User canceled the operation. 
func wasCancelled(_ viewController: GMSAutocompleteViewController) { 
    dismiss(animated: true, completion: nil) 
} 

// Turn the network activity indicator on and off again. 
func didRequestAutocompletePredictions(_ viewController: GMSAutocompleteViewController) { 
    UIApplication.shared.isNetworkActivityIndicatorVisible = true 
} 

func didUpdateAutocompletePredictions(_ viewController: GMSAutocompleteViewController) { 
    UIApplication.shared.isNetworkActivityIndicatorVisible = false 
} 

S'il vous plaît quelqu'un me aider à résoudre dehors. Merci d'avance.

+0

Vous pouvez fournir l'API avec votre cadre de sélection MapView – nathan

Répondre

1

La seule API fournie par GMSAutocompleteViewController est de mettre la GMSCoordinateBounds comme si (reference):

func placeAutocomplete() { 
    let visibleRegion = mapView.projection.visibleRegion() 
    let bounds = GMSCoordinateBounds(coordinate: visibleRegion.farLeft, coordinate: visibleRegion.nearRight) 

    let autocompleteController = GMSAutocompleteViewController() 
    acController.autocompleteBounds = bounds 
    autocompleteController.delegate = self 
    present(autocompleteController, animated: true, completion: nil) 
} 
+0

Merci @nathan, Mise en place de bornes fonctionne bien. –