谷歌地图地点自动完成 - 不返回街道号码?



我希望在我的iOS应用程序中构建一个非常基本的地址搜索功能。我正在使用 Google 地方信息自动完成功能根据用户输入查询结果,如下所示:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=shoppers@&radius=160934&location=50.445210,-104.618896&components=country:ca&key=xxxxxxxxxxxxx

我得到的结果太模糊了,没有实际用处。下面是一个例子,我得到的只是企业的名称和它所在的街道。问题是,该业务在同一条街道上有三个不同的位置,因此用户如何在不提供街道编号的情况下确定他们正在选择哪一个?

{
"description" : "Shoppers Drug Mart, Albert Street, Regina, SK, Canada",
"id" : "94065830c922a4239ece26102fb3439fa2f2e155",
"matched_substrings" : [
{
"length" : 8,
"offset" : 0
}
],
"place_id" : "ChIJ4XzAGbCgHlMRGSFBsEbyfCE",
"reference" : "ChIJ4XzAGbCgHlMRGSFBsEbyfCE",
"structured_formatting" : {
"main_text" : "Shoppers Drug Mart",
"main_text_matched_substrings" : [
{
"length" : 8,
"offset" : 0
}
],
"secondary_text" : "Albert Street, Regina, SK, Canada"
},
"terms" : [
{
"offset" : 0,
"value" : "Shoppers Drug Mart"
},
{
"offset" : 20,
"value" : "Albert Street"
},
{
"offset" : 35,
"value" : "Regina"
},
{
"offset" : 43,
"value" : "SK"
},
{
"offset" : 47,
"value" : "Canada"
}
],
"types" : [ "pharmacy", "health", "point_of_interest", "store", "establishment" ]
},

地点 自动完成功能不用于返回详细的地址信息。它旨在根据您的输入返回预测。然后,您必须使用返回的地点 ID,并使用它发出地点详细信息请求,以获取包含地址信息等的响应。

使用自动完成请求的第一个结果,我可以形成一个"地点详细信息"请求,如下所示: https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJ4XzAGbCgHlMRGSFBsEbyfCE&key=YOUR_API_KEY 这将提供您想要的信息。

https://developers.google.com/places/web-service/autocomplete#place_autocomplete_results https://developers.google.com/places/web-service/place-id#example-using-the-places-api

最新更新