谷歌地点API - getQueryPredictions如何按国家/城市/州限制?

10

以下是谷歌提供的getQueryPredictions示例:

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

有没有一种方法可以限制特定国家/城市/州的搜索结果?

另一个功能/组件具有此能力。

var input = document.getElementById('searchTextField');
var options = {  types: ['(cities)'],  componentRestrictions: {country: 'fr'}};
autocomplete = new google.maps.places.Autocomplete(input, options);
2个回答

26

使用这个类似的函数(比getQueryPredictions更强大):

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

支持四种类型:用于企业的“establishment”,用于地址的“geocode”,用于行政区域的“(regions)”和用于本地性的“(cities)”。

或者,如果你想使用getQueryPredictions()方法,你可以尝试以下技巧(但这不是一个好方法):

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

其中“AR-M”是阿根廷门多萨市的邮编(我所在的地方)。只需查看您所在地区的邮编即可。

然后,在显示预测时,执行以下操作:

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

希望这能有所帮助。

2

我没有找到与这个特定问题有关的功能请求,因此我在这里创建了一个:向QueryAutocompletionRequest添加componentRestrictions属性 - Curtis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接