Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Places API - getQueryPredictions Restrict by Country/City/State?

Below is the getQueryPredictions example given by google

service.getQueryPredictions({input: 'pizza near'}, callback);

Is there a way to restrict results for a specific country/city/state?

The other function/component has ability to do this

var input = document.getElementById('searchTextField');
var options = {  types: ['(cities)'],  componentRestrictions: {country: 'fr'}};
autocomplete = new google.maps.places.Autocomplete(input, options);
like image 641
user1809157 Avatar asked Nov 29 '12 06:11

user1809157


2 Answers

Use this similar function (it's a bit more powerfull than getQueryPredictions):

getPlacePredictions(
            {
            input: "pizza near",
            types: ['(cities)'],
            componentRestrictions: {country: 'fr'}
            }, 
            callback);

Four types are supported: 'establishment' for businesses, 'geocode' for addresses, '(regions)' for administrative regions and '(cities)' for localities.

Or, if you want to use geyQueryPredictions(), you can do the following trick (but it's not a good way):

{input: 'pizza near' + ',AR-M'}

Where 'AR-M' is the Postcode of ARGENTINA, MENDOZA. (where I live) Just look at your location's postcode.

The, when you show the predictions, do:

for (var i = 0, max = predictions.length; i < max; i++) {
    var address = predictions[i].description.replace(/AR-M,/g, '');
        ...
    }

Hope that helps.

like image 119
mrk Avatar answered Oct 21 '22 02:10

mrk


This is currently not supported, for supported request parameters please see the reference documentation.

If you think this would be a useful feature please add a Places API - Feature Request.

like image 39
Chris Green Avatar answered Oct 21 '22 01:10

Chris Green