给出以下API调用自动完成功能:
https://maps.googleapis.com/maps/api/place/autocomplete/json?types=address&input=23%20norton%20st
我收到以下回复:
{
"predictions": [
{
"description": "23 Norton Street, Leichhardt, New South Wales, Australia",
"id": "9711c656faa60f77a05680b603523a4bc75c45be",
"place_id": "EjgyMyBOb3J0b24gU3RyZWV0LCBMZWljaGhhcmR0LCBOZXcgU291dGggV2FsZXMsIEF1c3RyYWxpYQ",
"types": [
"route",
"geocode"
]
},
...
],
"status": "OK"
}
注意类型是路由和地理编码。
如果我查询详细信息API:
我得到以下内容:
{
"html_attributions": [],
"result": {
"id": "e698fdcd9dceed8fe42a926a19cb2b17d4f5f088",
"name": "23 Norton St",
"place_id": "ChIJpdXOTxewEmsRMmpMxLBgFpI",
"reference": "CmRbAAAAKmYoyR1BrFqFQJi6CAD8cjhD4SDnZXMIC0mOLOpX_jPgIgFv0TJ3rv8p5L9xKrplHzUFxBNc8sd7PdkXdnCsTo_7-3X7mocd8yHnXCIKYAxj0MO4icLoFJjD3DEszqK3EhD8XIu6zNH-h3hqotfKjmd-GhRwyNIfJCo4bmOOLYgubm7j8ln_tw",
"scope": "GOOGLE",
"types": [
"street_address"
],
"url": "https://maps.google.com/?q=23+Norton+St,+Leichhardt+NSW+2040,+Australia&ftid=0x6b12b0174fced5a5:0x921660b0c44c6a32",
"utc_offset": 600,
"vicinity": "Leichhardt"
},
"status": "OK"
}
类型和地点ID与第一个响应不同。我希望它们是相同的,它们为什么不同?
答案 0 :(得分:2)
如果您搜索“23 Norton Street”而不是“23 Norton St”,您实际上会得到您期望的结果(匹配place_id,类型等)。我认为正在发生的事情是,当您搜索23 Norton St时,它实际上没有匹配(如St而不是Street),因此它执行地理编码查找,这就是您看到的结果。
结果是否有任何原因导致您出现问题?或者只是一种奇怪/好奇心?
答案 1 :(得分:0)
不确定您的实际问题是什么,但Google地方信息实际上可能会为一个位置提供多个ID。参考:https://developers.google.com/places/place-id
此外,您似乎可以将自动完成设置仅提供有关geocode
和route
的类型,因为这也是结果的选项。没有您的实际代码,它是未知的。
我确定您已访问过此处的文档:https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete
但也许你错过了那里的例子。希望能回答你的问题'!