- Get formatted addresses and address parts
- Uses promises
- Has predefined presets for most common "smart validation" uses
jQuery 3+ or axios
- Add dependency injection of ajax service
- Switch to google autocomplete api - optional (better place predictions)
- Add unit tests :D
- Add build to the repo
import GoogleDetector from './GoogleDetectorAxios';
const detector = new GoogleDetector( options );
let options = {
language: String,
region: String,
apiKey: String,
dev: Boolean
}
Where language
and region
are ISO codes for countries (language of results and region where results will be filtered by),
fe: DE
apiKey
is google key, needed for production (only https AFAIK), no need in dev
dev
logs errors with api
getResults(query)
gets raw results from google api based on query
getFormatedResults(query)
gets formatted results in {formattedResult}
object (see below)
getFormattedAddres(rawResult)
gets formatted addres based on single raw result from api
getCityByPostalCode(postalCode)
gets city name from postal code provided
getPostalCodeByFullStreet
gets postal code by street + street number string (first matched)
getCorectStreetName
gets street name based on street name - if google has corrected it, else - null
It's object returned by getFromattedResults
and getFormattedAddress
methods.
Format is:
{
full: String,
street: String,
city: String,
streetNumber: String,
postalCode: String
}
Where full
is formatted, full address ('Zabłocie 25, 30-701 Kraków Polska),
and rest of keys are strings with address parts, if any. Alse, the key doesn't exist