Autofill-Stadt und Staat aus der zip-code in iOS
Ich habe drei Textfelder in meinem Blick.
1. Zip-code, 2. Stadt und 3. Zustand.
Wie autofill-Stadt und Staat-Feld aus der zip-code in iOS?
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *currentString = [textField.text stringByReplacingCharactersInRange:range withString:string];
int length = [currentString length];
if(length > 5)
{
return NO;
}
if(length == 5)
{
[self getCityAndState];
}
return YES;
}
- (void) getCityAndState
{
//How to use google (or any) api to autofill city and state in objective - c?
}
- Verwenden Sie Google-GeoCoding-API - Siehe Das
- Check this link, stackoverflow.com/questions/4749706/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die
Google GeoCoding API
um Informationen zu extrahieren, wenn Sie möchten, senden Postleitzahl ein, um andere information erhalten, benutzen Sie dies:Wenn Ihr zipcode variable 32000, erhalten Sie die diese JSON-Ergebnis:
Können Sie Parsen von json zu extrahieren alle Informationen, die Sie wollen, einschließlich Land, Stadt, Längengrad, Breitengrad etc
Ich versuche zu vermeiden, Google-Dienste, weil Sie dazu neigen, zu berechnen bei einer bestimmten Höhe der Nutzung. Hier ist die Lösung mit Apple ' s frameworks:
Die Antwort von a-r-studios ist vor Ort auf, da es nicht vorstellen eine Abhängigkeit von Google-Diensten.
Allerdings würde ich auch einschränken, das Land code basiert entweder auf die Eingabe des Benutzers oder UNS-nur wenn es Sinn macht. Nicht einschränken, es gibt unvorhersehbare Ergebnisse, weil die geocoder zurückgeben kann mehrere hits aus verschiedenen Ländern.
Hier ist die Swift 3-version mit allen oben genannten Korrekturen.
Während die Antworten von alex_c-und a-r-studios arbeiten gut, wenn Sie keine Lust auf das Getue mit
AddressBookUI
oder Wörterbücher, können Sie einfach diegeocodeAddressString:completionHandler:
Methode auf diegeocoder
vorbei in die zip-code-allein das ist ausreichend für die Suche:Swift:
Hier ist der Swift 4-version, mit richtigen Optionen Handhabung als bonus.
Verwenden Sie dies, wenn Sie möchten, manuell angeben, das Land der abgefragten POSTLEITZAHL.
- Und hier wird die Lösung basierend auf Nathans Antwort.
Verwenden Sie diese Abfrage für die Stadt und den administrativen Bereich, basierend auf Benutzer-Gebietsschema.
gleiche mit dem swift, ich kann nicht fügen Sie dies als Kommentar(Punkte nicht enoght)