Google places api 限制Google Places Autocomplete仅返回地址
返回街道和城市以及其他较大区域。有可能只限于街道吗?我想你想要的是Google places api 限制Google Places Autocomplete仅返回地址,google-places-api,Google Places Api,返回街道和城市以及其他较大区域。有可能只限于街道吗?我想你想要的是{types:['address']} 您可以在这个实时示例中看到这一点:(使用“Addresses”(地址)单选按钮)。这个问题很老了,但我想我会添加到它中,以防其他人遇到这个问题。不幸的是,将类型限制为“地址”并不能达到预期的结果,因为仍然包括路由。因此,我决定循环检查结果并执行以下检查: result.predictions[i].types.includes('street\u address') 不幸的是,我惊讶地发现我
{types:['address']}
您可以在这个实时示例中看到这一点:(使用“Addresses”(地址)单选按钮)。这个问题很老了,但我想我会添加到它中,以防其他人遇到这个问题。不幸的是,将类型限制为“地址”并不能达到预期的结果,因为仍然包括路由。因此,我决定循环检查结果并执行以下检查:
result.predictions[i].types.includes('street\u address')
不幸的是,我惊讶地发现我自己的地址没有被包括在内,因为它返回了以下类型:{types:['geocode','premise']}
因此,我决定启动一个计数器,任何在其类型中包含“地理编码”或“路线”的结果都必须包含至少一个要包含的其他术语(无论是“街道地址”或“房屋”或其他任何术语)。因此,路线被排除在外,任何具有完整地址的内容都将被包括在内。这不是万无一失的,但效果相当好
循环执行结果预测,并执行以下操作:
autocomplete = new google.maps.places.Autocomplete(input, { types: ['geocode'] });
嗯,你能解释一下吗?Google places按定义的半径和类别为你提供了一个位置列表。请给出一个你用
{types:['address']}尝试过的例子
没有将结果限制为只有街道地址类型的结果。它还包括路线类型的结果,即没有编号的道路。有没有办法将路线
从结果中排除?@MaryKN这种行为不直观。这是故意的吗?我也有同样的问题,但最奇怪的是当服务器主机位于欧洲时,api工作正常,而当相同代码放置在位于美国的机器中时,api工作不正常
if (result.predictions[i].types.includes('street_address')) {
// Results that include 'street_address' should be included
suggestions.push(result.predictions[i])
} else {
// Results that don't include 'street_address' will go through the check
var typeCounter = 0;
if (result.predictions[i].types.includes('geocode')) {
typeCounter++;
}
if (result.predictions[i].types.includes('route')) {
typeCounter++;
}
if (result.predictions[i].types.length > typeCounter) {
suggestions.push(result.predictions[i])
}
}