我正在尝试为我在 uni 的最后一年项目编写一个 Web 应用程序,我需要解决的第一个问题是获取一个用于本地地址输入的自动完成文本框。我花了一些时间浏览互联网并花一些时间玩谷歌地图 V3 地点自动完成插件。
在 api 文档中有一些我不太了解的东西,我希望有人能够为我澄清,也可能为我指明正确的方向。
在文档中它说:
(regions) 类型集合指示 Place 服务返回与以下类型匹配的任何结果:
locality
sublocality
postal_code
country
administrative_area1
administrative_area2
这是我目前不明白的,我住在康沃尔(确切地说是博德明),我想让结果偏向博德明。我做了以下事情:
var input = document.getElementById('inputOne');
var defaultBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(50.423394,-4.803829),
new google.maps.LatLng(50.508623,-4.692593));
//need to set bounds to cornwall/bodmin
var options = {
bounds: defaultBounds,
types: ['geocode'],
componentRestrictions: {country: 'GB'}
};
var autocomplete = new google.maps.places.Autocomplete(input,options);
现在这可行,但是例如,如果我输入“st n”,我希望它首先想出位于博德明的圣尼古拉斯街。但它会想出几英里外的st neot之类的东西。
我的一部分人认为我需要将类型设置为不同的值,但我现在很困惑。
编辑:我想要实现的示例是在 maps.google.com 页面上,如果您输入,Bodmin 然后将光标移动到逗号之前并开始输入街道名称,甚至是 Asda,它会将其保留在本地那个区域。我宁愿不必输入 ,bodmin ,但这是我可以解决的问题
如果有人有任何很棒的想法。然后我需要弄清楚用户如何输入一些值,比如"Asda"
获取本地 asda 地址。