Ich weiß, dass Sie die API zippopotam verwenden können, um die Stadt und den Status einer bestimmten Postleitzahl automatisch zu füllen, aber ich versuche einen Weg zu finden Verwenden der API zum automatischen Auffüllen der Postleitzahl, wenn eine Stadt und ein Bundesstaat angegeben wird.Verwenden von zippopotam.us zum automatischen Auffüllen von Postleitzahlen, wenn Benutzer Stadt und Status eingeben
Wenn Sie sich den unten stehenden Ajax-Aufruf ansehen, können Sie sehen, dass ich eine Anfrage mit dem Postleitzahlenwert mache, aber wenn Sie einen anderen Parameter als die Postleitzahl übergeben, wird ein leerer JSON-Block zurückgegeben.
Ich war nur neugierig, hat jemand Erfahrung mit Zippopotam Antworten auf diese Weise zu verwenden oder zu manipulieren?
Wenn nicht gibt es eine andere mögliche einfache Lösung da draußen habe ich vielleicht noch nicht gefunden?
<script>
$(function() {
// OnKeyDown Function
$("#zip").keyup(function() {
var zip_in = $(this);
var zip_box = $('#zipbox');
if ((zip_in.val().length == 5))
{
// Make HTTP Request
$.ajax({
url: "http://api.zippopotam.us/us/" + zip_in.val(),
cache: false,
dataType: "json",
type: "GET",
success: function(result, success) {
// Make the city and state boxes visible
// US Zip Code Records Officially Map to only 1 Primary Location
places = result['places'][0];
$("#city").val(places['place name']);
$("#state").val(places['state']);
zip_box.addClass('success').removeClass('error');
},
error: function(result, success) {
zip_box.removeClass('success').addClass('error');
}
});
}
});
});
</script>
<fieldset>
<legend>US Address Autocompletion</legend>
<br/>
<div>
<div id="zipbox" class="control-group">
<label for="zip">Zip</label>
<input type="text" class='' pattern="[0-9]*" name="zip" id="zip" placeholder="Type your ZIP code"/>
</div>
</div>
<div>
<div id="citybox" class="control-group" >
<label for="city">City</label>
<input type="text" name="city" id="city" placeholder="" />
</div>
<div id="statebox" class="control-group">
<label for="state">State</label>
<input type="text" name="state" id="state" placeholder="" />
</div>
</div>
</fieldset>
Das ist wirklich toll, danke. Nach dem Gespräch mit dem Team, mit dem ich arbeite, wollen sie die Adresse mit Stadt + Staat verwenden, um eine Zip zu geben. Hättest du diesbezüglich einen Rat? Mit Blick auf die Zippopotam Api, es sieht nicht aus wie Straße Adresse ist ein Teil der API? – adamscott
Sie können das Google Maps API wie in [diese Frage] beschrieben verwenden (http://stackoverflow.com/questions/6888185/how-to-easily-get-a-zipcode-from-a-generic-address-with- google-maps-api). – rphv