我正在使用Google Geocode API来获取特定地址的长度。
当我在谷歌搜索或谷歌地图中搜索“364 S Side Square,Carlinville,IL 62626,USA”时,它会在谷歌搜索结果或地图结果上给出准确的针点。
但同时当我使用Geocode API使用以下请求调用搜索同一地址时,它会提供“partial_match”:true
任何人都知道为什么它会给出“partial_match”:回复是真的吗?
我在API请求中需要做哪些更改才能获得“partial_match”?
答案 0 :(得分:2)
要了解美国伊利诺斯州卡林维尔市第62626号Side Side Square的部分匹配标志的性质。让我们看一下地理编码工具中的这个地址:
实际上,结果中的搜索字符串和格式化地址完全相同,但是,我们必须注意其他值,例如location_type
和place_id
正如您所看到的,位置类型为RANGE_INTERPOLATED,而地点ID的长值为Ei0zNjQgUyBTaWRlIFNxdWFyZSwgQ2FybGludmlsbGUsIElMIDYyNjI2LCBVU0E
。这意味着Google在其数据库中没有确切的地址功能,并尝试插入此地址所在的位置。如果Google数据库中存在地址,您将看到位置类型ROOFTOP和更短的place ID(类似于ChIJrTLr-GyuEmsRBfy61i59si0)。
恢复上述内容,示例中的部分匹配标记表示Google数据库中不存在确切的街道地址功能。
这也可以通过文档中的以下句子确认:
部分匹配通常发生在您在请求中传递的在地区内不存在的街道地址。
https://developers.google.com/maps/documentation/geocoding/intro#GeocodingResponses
您还可以选择在帮助中心之后向Google报告丢失的地址:
https://support.google.com/maps/answer/6320846
我希望我的回答能解决你的疑问!
答案 1 :(得分:0)
partial_match表示地理编码器未返回原始请求的完全匹配,但它能够匹配部分请求的地址。您可能希望检查拼写错误的原始请求和/或地址不完整。
部分匹配最常发生在您在请求中传递的位置中不存在的街道地址。当请求与同一地点的两个或多个位置匹配时,也可能会返回部分匹配。例如," 21 Henr St,Bristol,UK"将返回Henry Street和Henrietta Street的部分比赛。注意,如果请求包括拼写错误的地址组件,则地理编码服务可以建议替代地址。以这种方式触发的建议也将被标记为部分匹配。
尝试 place_id ,这是唯一标识符