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

余生长醉 提交于 2019-12-21 04:03:30

问题


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);

回答1:


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.




回答2:


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.



来源:https://stackoverflow.com/questions/13620308/google-places-api-getquerypredictions-restrict-by-country-city-state

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!