Comment mettre en œuvre l'auto-complétion pour l'adresse en utilisant Apple Map Kit
Je veux l'auto-complétion de l'adresse de l'utilisateur de même que ce qui l'api google fournit dans ce lien:
https://developers.google.com/maps/documentation/javascript/places-autocomplete?hl=en
Comment puis-je mettre en œuvre les mêmes fonctionnalités à l'aide d'apple kit de carte?
J'ai essayé d'utiliser la Géo Codeur, j'ai écrit ceci par exemple:
@IBAction func SubmitGeoCode(sender: AnyObject) {
let address = "1 Mart"
let coder = CLGeocoder()
coder.geocodeAddressString(address) { (placemarks, error) -> Void in
for placemark in placemarks! {
let lines = placemark.addressDictionary?["FormattedAddressLines"] as? [String]
for addressline in lines! {
print(addressline)
}
}
}
}
Cependant, les résultats sont très décevants.
Tout de Pomme d'Api disponibles pour mettre en œuvre ces fonctionnalités, ou devrais-je la tête pour api google ?
Merci
source d'informationauteur Mostafa Mohamed Raafat
Vous devez vous connecter pour publier un commentaire.
Mise à jour - j'ai créé un simple exemple de projet ici l'utilisation de Swift 3 que l'original de la réplique a été écrit en Swift 2.
Dans iOS 9.3 une nouvelle classe appelée
MKLocalSearchCompleter
a été introduit, ce qui permet la création d'une solution de saisie semi-automatique, il vous suffit de passer dans le queryFragment comme ci-dessous:Puis de gérer les résultats de la requête à l'aide de la
MKLocalSearchCompleterDelegate
:Et d'afficher l'adresse les résultats dans un format approprié:
Vous pouvez ensuite utiliser un
MKLocalCompletion
objet à instancier unMKLocalSearchRequest
donc d'avoir accès à laMKPlacemark
et toutes autres informations utiles:Ma réponse est entièrement basé sur @George McDonnell. J'espère que cela aide pour les gars qui ont des problèmes avec la mise en œuvre de la dernière.
Vous devriez certainement en tête pour les Api Google. J'ai lutté pendant une longue période avec Apple Api de géocodage et je peux vous assurer qu'ils sont d'une grande qualité.
Si vous voulez voir l'exemple le plus probant de cette mauvaise qualité, vérifier cette question de la mienne.
Avec Google Api, vous pouvez faire beaucoup plus de résultats précis. En outre, ils ont la saisie semi-automatique des Api. Vous pouvez en savoir plus sur eux ici.
J'ai essayé et réussi à faire leur travail tout à fait bien.
Dans cet exemple de projet ce problème est obtenue par MKLocalSearchRequest et MapKit.
C'est montrer la saisie semi-automatique lieux tout comme les lieux de google API et peut placer l'Annotation point sur l'Apple carte (pas sur Google map, j'espère que c'est seulement vous êtes à la recherche pour.)
Cependant, il ne montre pas que la précision des résultats que vous pouvez obtenir à partir des Lieux de Google API. Comme le problème est que le Géocodage de la base de données n'est évidemment pas complète et Apple n'est pas la société qui dirige ce domaine - Google est.
Fixer quelques captures d'écran de l'exemple d'application, de sorte que vous pouvez voir si il est utile pour vos besoins ou non.