PREFILL ADDRESS OR STREET USING GOOGLE API
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function getStreetNumber(lat, lng) { | |
var json = getRGeocodeJSON(lat, lng); | |
var obj = JSON.parse(json); | |
try { return obj.results[0].address_components[0].short_name; } | |
catch(e) { return ''; } | |
} | |
function getStreetName(lat, lng) { | |
var json = getRGeocodeJSON(lat, lng); | |
var obj = JSON.parse(json); | |
try { return obj.results[0].address_components[1].short_name; } | |
catch(e) { return ''; } | |
} | |
function getCity(lat, lng) { | |
var json = getRGeocodeJSON(lat, lng); | |
var obj = JSON.parse(json); | |
try { return obj.results[0].address_components[2].short_name; } | |
catch(e) { return ''; } | |
} | |
function getState(lat, lng) { | |
var json = getRGeocodeJSON(lat, lng); | |
var obj = JSON.parse(json); | |
try { return obj.results[0].address_components[5].short_name; } | |
catch(e) { return ''; } | |
} | |
function getZip(lat, lng) { | |
var json = getRGeocodeJSON(lat, lng); | |
var obj = JSON.parse(json); | |
try { return obj.results[0].address_components[7].short_name; } | |
catch(e) { return ''; } | |
} | |
function getRGeocodeJSON(lat, lng) { | |
var url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + lat + "," + lng + "&[API KEY]"; | |
var resp ; | |
var xmlHttp ; | |
resp = '' ; | |
xmlHttp = new XMLHttpRequest(); | |
if(xmlHttp != null) | |
{ | |
xmlHttp.open( "GET", url, false ); | |
xmlHttp.send( null ); | |
resp = xmlHttp.responseText; | |
} | |
return resp ; | |
} | |
function getEverything(lat, lng) { | |
var json = getRGeocodeJSON(lat, lng); | |
var obj = JSON.parse(json); | |
var address_components =JSON.stringify( obj.results[0].address_components); | |
return address_components; | |
} | |
function getFormattedAddress(lat, lng) { | |
var json = getRGeocodeJSON(lat, lng); | |
var obj = JSON.parse(json); | |
try { return obj.results[0].formatted_address; } | |
catch(e) { return ''; } | |
} |
Updated with some try/catch to return blank strings if the index doesn't exist. This way the entire field in iForm doesn't just blank out.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Code sample for this example:
https://iformbuilder.zendesk.com/hc/en-us/community/posts/201465644-Prefill-Address-or-Street-using-Google-API