【问题标题】:Google Places API - Returning invalid street numbersGoogle Places API - 返回无效的街道号码
【发布时间】:2016-08-09 13:10:03
【问题描述】:

如果我搜索 500 Buckingham Place, Eight Mile Plains,Google Places API 会返回 500 Buckingham Place, Eight Mile Plains, Queensland, Australia,地点 ID 为 Ej41MDAgQnVja2luZ2hhbSBQbGFjZSwgRWlnaHQgTWlsZSBQbGFpbnMsIFF1ZWVuc2xhbmQsIEF1c3RyYWxpYQ。如果我随后对该地点 id 进行详细调用,它将返回 Buckingham Pl, Eight Mile Plains QLD 4113, Australia

这可以复制到谷歌地图网站https://www.google.com.au/maps/search/500+Buckingham+Place+Eight+Mile+Plains。返回的地点将是Buckingham Pl, Eight Mile Plains QLD 4113, Australia

我可以让 Google Places API 只返回实际街道号码的搜索结果吗?

编辑 我打的电话是https://maps.googleapis.com/maps/api/place/autocomplete/json?input=500%20Buckingham%20Place%2C%20Eight%20Mile%20Plains&types=address

【问题讨论】:

  • 你搜索的怎么样了?您使用的是网络服务还是 Google Maps Javascript API v3 Places Library?
  • @geocodezip 我添加了一个API调用示例
  • 我不明白这个问题。您想输入什么以及得到什么作为答案?
  • @TomKarachristos 它正在从自动完成 api 返回一个不存在的街道号码的结果。在这种情况下,我不希望它返回结果。在我的示例中,白金汉广场的街道编号只有 52,但您可以搜索任何高于该编号的数字,自动完成 api 仍会将其作为有效地点返回。这发生在所有街道上。

标签: javascript google-maps google-places-api google-places


【解决方案1】:

来自google map api doc

地址按从最佳匹配到最不匹配的顺序返回。 通常,更准确的地址是最突出的结果,因为它 在这种情况下。请注意,我们返回不同类型的地址, 从最具体的街道地址到不太具体的政治地址 社区、城市、县、州等实体。

所以问题在于,当您添加不存在的街道号码时,会返回不完全匹配的结果。以下是如何查找答案是否不完全匹配:

再次在google doc

partial_match 表示地理编码器没有返回精确的 匹配原始请求,尽管它能够匹配 请求的地址。

如果您进行一些测试,您会发现当门牌号不存在(或地址无效或您没有为唯一地址提供足够信息)时,它会返回一个变量 partial_match:true 和一个或更接近的比赛,就像图片一样。

我用自动完成和地理编码器做了一个简单的例子:http://jsfiddle.net/TomKarachristos/qLyrj38d/, 当 partial_match 为真时,它返回“无效结果”

if (results[0].partial_match) {
  htmlContent = "not a valid result";
  } else {
  [...]
}

注意:谷歌地图的数据可能不会100%准确。

【讨论】:

  • 我使用的是自动完成 api (developers.google.com/places/web-service/autocomplete) 而不是地理编码 api。我看不到来自 autcomplete api 的任何请求的 partial_match
  • 自动补全 API 提供了 getPlace() 函数,该函数提供了比地图地址更多的地点信息,因此您必须将它与地理编码器一起使用才能获取您想要的信息。再看小提琴,我更新它。
  • 所以似乎没有办法在自动完成中不显示无效地址。感谢您的帮助。
  • 如果你愿意,你可以尝试使用 jquery ui 从一开始就进行自动完成,有很多工作,但通过这种方式你可以完全控制。这里是一个例子rjshade.com/2012/03/27/Google-Maps-autocomplete-with-jQuery-UI
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-19
  • 1970-01-01
  • 2020-12-13
  • 2016-07-20
  • 1970-01-01
  • 2019-10-31
  • 1970-01-01
相关资源
最近更新 更多