autocomplete = new google.maps.places.Autocomplete(input, { types: ['geocode'] });
returns streets and cities amongst other larger areas. Is it possible to restrict to streets only?
autocomplete = new google.maps.places.Autocomplete(input, { types: ['geocode'] });
returns streets and cities amongst other larger areas. Is it possible to restrict to streets only?
This question is old, but I figured I'd add to it in case anyone else is having this issue. restricting types to 'address' unfortunately does not achieve the expected result, as routes are still included. Thus, what I decided to do is loop through the result and implement the following check:
result.predictions[i].types.includes('street_address')
Unfortunately, I was surprised to know that my own address was not being included, as it was returning the following types: { types: ['geocode', 'premise'] }
Thus, I decided to start a counter, and any result that includes 'geocode' or 'route' in its types must include at least one other term to be included (whether that be 'street_address' or 'premise' or whatever. Thus, routes are excluded, and anything with a complete address will be included. It's not foolproof, but it works fairly well.
Loop through the result predictions, and implement the following:
if (result.predictions[i].types.includes('street_address')) {
// Results that include 'street_address' should be included
suggestions.push(result.predictions[i])
} else {
// Results that don't include 'street_address' will go through the check
var typeCounter = 0;
if (result.predictions[i].types.includes('geocode')) {
typeCounter++;
}
if (result.predictions[i].types.includes('route')) {
typeCounter++;
}
if (result.predictions[i].types.length > typeCounter) {
suggestions.push(result.predictions[i])
}
}
address
–
Ricardo Vilanova i la Geltrú, Spain
which does not have an address, number, and neither postal code? –
Vano I think what you want is { types: ['address'] }
.
You can see this in action with this live sample: https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete (use the "Addresses" radio button).
{ types: ['address'] }
doesn't restrict results to be only those of type street_address
. It also includes results of type route
, which are roads without numbers. –
Twum route
from the results? –
Distant https://maps.googleapis.com/maps/api/geocode/json?address=spain&result_type=street_address&location_type=ROOFTOP&key=YOUR_API_KEY
–
Vano It seems we can resolve this reasonably well (at least for US addresses) by restricting types to 'street_address'
and 'premise'
, and by not performing the operation unless the first character of the input is a numeral (0-9).
© 2022 - 2024 — McMap. All rights reserved.