[フレーム]
Last Updated: February 25, 2016
·
4.095K
· dcondrey

Get users zip code using Google

Use Google to find your users zip code and autopopulate an input field..

function postalCodeLookup(input) {
 var head= document.getElementsByTagName('head')[0],
 script= document.createElement('script');
 script.src= '//maps.googleapis.com/maps/api/js?sensor=false';
 head.appendChild(script);
 script.onload = function() {
 if (navigator.geolocation) {
 var a = input,
 fallback = setTimeout(function () {
 fail('10 seconds expired');
 }, 10000);

 navigator.geolocation.getCurrentPosition(function (pos) {
 clearTimeout(fallback);
 var point = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude);
 new google.maps.Geocoder().geocode({'latLng': point}, function (res, status) {
 if (status == google.maps.GeocoderStatus.OK && typeof res[0] !== 'undefined') {
 var zip = res[0].formatted_address.match(/,\s\w{2}\s(\d{5})/);
 if (zip) {
 a.value = zip[1];
 } else fail('Unable to look-up postal code');
 } else {
 fail('Unable to look-up geolocation');
 }
 });
 }, function (err) {
 fail(err.message);
 });
 } else {
 alert('Unable to find your location.');
 }
 function fail(err) {
 console.log('err', err);
 a.value('Try Again.');
 }
 };
}

AltStyle によって変換されたページ (->オリジナル) /