0

我目前正在使用 google apis API 来自动完成位置。我可以将其设置为仅返回带有 "autocomplete.setTypes(['regions'])" 的区域类型。查看文档,我可以看到区域类型将返回包含以下类型的所有结果;
* 地区
* 次地区 *
邮政编码
* 国家
* 行政区域
1 * 行政区域2

不过,我想要实现的是仅返回区域类型为“sublocality”的自动完成预测。这可能吗?如果没有,是否有人遇到过类似的问题并有他们会推荐的替代解决方案?谢谢你。

var autocomplete = new google.maps.places.Autocomplete(input);

var types = ['(regions)'];

var options = {
    componentRestrictions: {country: 'uk'}
};

autocomplete.setTypes(types);
autocomplete.setOptions(options);

4

1 回答 1

0

可以过滤查询预测结果以仅显示(或使用它做任何您喜欢的事情,因为我们不知道您要做什么)如果预测的类型为 ,sublocality因为每个结果都带有types.

像这样的东西:

// Build output for each prediction
for (var i = 0, prediction; prediction = predictions[i]; i++) {

  if (prediction['types'].includes('sublocality')) {

    // Display it or do what you need to do here
  }
}

请记住,尽管查询预测最多只返回 5 个结果,因此最终用户可能会感到困惑,因为在您输入相当多的字母之前可能什么都不会显示......

于 2018-02-08T14:10:49.963 回答