【问题标题】:Google Maps Places Autocomplete - Not Returning Street Numbers?Google Maps Places Autocomplete - 不返回街道号码?
【发布时间】:2020-01-19 04:49:35
【问题描述】:

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

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" ]
      },

【问题讨论】:

  • 如果您已经有一个完整或部分完整的搜索词,为什么不立即执行Place Search 呢?进行附近搜索或文本搜索应与输入“购物者”一起使用。

标签: json google-places-api


【解决方案1】:

地点自动填充功能并非旨在返回详细的地址信息。它旨在根据您的输入返回预测。然后,您必须使用返回的地点 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

【讨论】:

  • 好的 - 这似乎效率低得令人难以置信,我希望有更好的方法。谢谢
猜你喜欢
  • 2016-08-09
  • 2018-11-09
  • 2017-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-26
  • 2013-04-14
  • 2020-01-20
相关资源
最近更新 更多