Javascript Google Place Autcomplete地址API强制关闭HTML自动完成
我们有一个标准的地址表(街道1、街道2、城市、州、邮编、国家) 当我在Street 1上添加Google Places Autocomplete API的代码时,它会在加载页面时自动将输入字段Autocomplete更改为off,这使得HTML/浏览器自动填充在Street 1上不起作用Javascript Google Place Autcomplete地址API强制关闭HTML自动完成,javascript,google-maps,google-maps-api-3,autocomplete,google-places-api,Javascript,Google Maps,Google Maps Api 3,Autocomplete,Google Places Api,我们有一个标准的地址表(街道1、街道2、城市、州、邮编、国家) 当我在Street 1上添加Google Places Autocomplete API的代码时,它会在加载页面时自动将输入字段Autocomplete更改为off,这使得HTML/浏览器自动填充在Street 1上不起作用 <input autocomplete="address-line1" type = "text" name = "shipping_address_1" id = "shipping_address_1
<input autocomplete="address-line1" type = "text" name = "shipping_address_1" id = "shipping_address_1" class="ct-required form-control" tabindex=7>
通过编写上面的代码,你告诉gmap,这是你需要预测的领域。它有点像一个地方搜索栏,任何类型的搜索栏上都不会有自动完成功能。如果它是由浏览器自动填充的,那就没有任何意义了
如果您希望这样做,请使用WebService API,发送HTTP请求并用响应填充字段
从文件来看,
在CA旧金山的一个区域内,要求设立含有“阿米巴”字样的机构:
https://maps.googleapis.com/maps/api/place/autocomplete/xml?input=Amoeba&types=establishment&location=37.76999,-122.44696&strictbounds&key=您的API密钥
使用查询参数input=Paris&types=geocode
对上述URL的GET请求将给出一个包含预测的JSON对象
{
"status": "OK",
"predictions" : [
{
"description" : "Paris, France",
"id" : "691b237b0322f28988f3ce03e321ff72a12167fd",
"matched_substrings" : [
{
"length" : 5,
"offset" : 0
}
],
... more results
]
}
这是大多数通过JavaScript实现自动完成的正常做法,因为可能会出现多个建议列表,这可能会给最终用户造成混乱。如果您已经使用了另一个自动完成插件,为什么要打开它?@plalx这是一个电子商务网站的发货地址表单。从名字开始,出现浏览器自动完成,这对最终用户来说非常方便。如果用户在没有使用浏览器自动完成(prefill)的情况下访问街道地址1,那么当用户开始键入时,就会使用谷歌自动完成API。您能否制作一个简单的代码片段来重现问题?@ToddN第一个名称将输入到与地址不同的字段中,对吗?你的意思是整个表单的自动完成被禁用了吗?
autocomp = new google.maps.places.Autocomplete(
document.getElementById('shipping_address_1')),
{
types: ['geocode'],
componentRestrictions: {country: "us"}
});
{
"status": "OK",
"predictions" : [
{
"description" : "Paris, France",
"id" : "691b237b0322f28988f3ce03e321ff72a12167fd",
"matched_substrings" : [
{
"length" : 5,
"offset" : 0
}
],
... more results
]
}