【发布时间】:2014-02-19 04:40:20
【问题描述】:
我正在尝试将 Google 地理编码自动完成字段添加到我的表单中。
我已经能够使用它来限制返回到国家 (AU) 的结果,但如果我也可以将结果限制在州内,那就更好了。 (新南威尔士州/新南威尔士州)
这是我当前的initialize() 函数:
function initialize() {
var options = {
types: ['geocode'],
componentRestrictions: {country:"AU"}
};
autocomplete = new google.maps.places.Autocomplete(
(document.getElementById('autocomplete')),options);
google.maps.event.addListener(autocomplete, 'place_changed', function() {
fillInAddress();
});
}
我已阅读文档,发现您可以使用types 参数来限制结果,但我一直无法计算出确切的代码应该是什么。
只需将其更改为:
types: ['administrative_area1':'NSW'], // OR 'New South Wales'
并且与上述类似的各种组合(= 而不是 : 等)都不起作用..
有人能指出我想要实现的实际语法的正确方向吗?
谢谢。
【问题讨论】:
-
当您阅读文档后,您也应该阅读以下内容:目前,您可以使用 componentRestrictions 按国家/地区进行过滤
-
我做到了。我已经实现了那部分并说它有效。我要问的是我可以进一步过滤它以仅显示特定州(新南威尔士州)内的结果。
-
如果可以按州过滤,他们会写您可以使用componentRestrictions 按国家/地区和州过滤。
-
来自 API 页面:您可以通过传递 types 参数来将 Place Autocomplete 请求的结果限制为特定类型。该参数指定类型或类型集合,如下面支持的类型中所列。支持的类型是: ... Administrative_area1 对于澳大利亚,
administrative_area1是州。我只是好奇如何使用类型参数来限制返回的状态。 -
请仔细阅读文档。 支持的类型有:
geocode, establishment, (cities)和(regions),仅此而已。 types-property 可能不用于指定类型的值(例如特定区域),它仅用于将结果过滤为包含特定组件(例如区域)的结果,它不关心值这个组件的。
标签: jquery google-maps google-maps-api-3 autocomplete google-geocoder