googleapis地理编码仅返回一张记录,以进行不完整或模棱两可的地址

发布于 2025-01-18 05:14:41 字数 1913 浏览 0 评论 0原文

我想规范化(服务器端)输入地址,它可能不完整或完整。

我应该使用哪些 API?

我已经使用了地理编码、地点/自动完成和地点/文本搜索 API,但我没有得到我想要的。

不完整地址输入示例:

“via andrea roma” 在罗马有更多街道带有“andrea”字样。

使用地理编码和 place/textsearch 返回 1 条记录。为什么?

https://maps.googleapis.com/maps/api/geocode/ json?address=来自 andrea roma&region=it&language=it

https://maps.googleapis.com/maps/api/place/ textsearch/json?query=VIAvia andrea roma&region=it&language=it

使用自动完成功能可以,因为返回更多地址。

https://maps.googleapis.com/maps/api/ place/autocomplete/json?input=via andrea Roma&region=it&language=it

BUT 如果我总是使用 place/autocomplete API,那么当地址完整时,它是不正确的,因为返回更多地址。

完整地址输入示例:

“via andrea doria 1 roma”在罗马存在 1 个具有此名称的地址。

使用地理编码和 palce/textsearch 返回 1 条记录,可以

https:// maps.googleapis.com/maps/api/geocode/json?address=via 安德里亚·多利亚 1 roma&region=it&language=it

https://maps.googleapis.com/maps/api/place/ textsearch/json?query=via andrea doria 1 ROMA&region=it&language=it

但自动完成会返回更多地址。为什么?

https://maps.googleapis.com/maps/api/ place/autocomplete/json?input=via andrea doria 1 Roma&region=it&language=it

所以我不明白应该使用哪个 API 将我的地址规范化到我的 c# 库中

帮助我!谢谢基亚拉

I want to normalize (server-side), an input address, and it could be incomplete or complete.

Which APIs should I use?

I have used geocode, place/autocomplete and place/textsearch APIs, but I don't get what I want.

Incomplete address input example:

"via andrea roma" in Rome there are more streets with "andrea" word.

With geocode and palce/textsearch return 1 records. Why?

https://maps.googleapis.com/maps/api/geocode/json?address=via andrea roma®ion=it&language=it

https://maps.googleapis.com/maps/api/place/textsearch/json?query=VIAvia andrea roma®ion=it&language=it

With autocomplete is ok because return more address.

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=via andrea Roma®ion=it&language=it

BUT if I always use place/autocomplete API, it is incorrect when the address is complete, because return more address.

Complete address input example:

"via andrea doria 1 roma" in Rome exist 1 addres with this name.

With geocode and palce/textsearch return 1 records and is ok

https://maps.googleapis.com/maps/api/geocode/json?address=via Andrea doria 1 roma®ion=it&language=it

https://maps.googleapis.com/maps/api/place/textsearch/json?query=via andrea doria 1 ROMA®ion=it&language=it

BUT with autocompleate return more address. Why?

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=via andrea doria 1 Roma®ion=it&language=it

So I don't understand which API I should use to normalize my address into my c# library

Help me! Thanks

Chiara

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

毅然前行 2025-01-25 05:14:41

place place autocomplete api 是一种网络服务,是一种返回的Web服务,可以在对HTTP请求的响应,意味着它可能会返回多个结果,因为它旨在应对模棱两可的查询。

另一方面, geocoding api 转换特定地址(例如“ 1600 Amphitheater Parkway) ,山景,CA“)进入地理坐标(如纬度37.423021和经度-122.083739)。这就是为什么它仅返回一个结果的原因。

至于放置文本搜索api ,通常根据字符串返回有关一组位置的信息。例如,您给定的位置文本搜索API Web请求,该请求

https://maps.googleapis.com/maps/api/place/textsearch/json?query=VIAvia andrea roma®ion=it&language=it&key=YOUR_API_KEY

在响应中返回4个不同的位置。 These are:

  • Via Annia Regilla, 27/29, 00178 Roma RM (ChIJu76VeZOJJRMR3CjFz4Y-Fd4)
  • Via di Sant'Andrea delle Fratte, 9, 00187 Roma RM (ChIJ2UYsr1RgLxMRnVSDeOy_ZLg)
  • <代码>通过di grottarossa,1035/1039,00189 roma rm (
  • chije7twfqrnlxmrmg6wwxad-vc)

可以返回多个结果)和地理编码API(仅返回一个结果)取决于您的用例和实现。

Places Autocomplete API is a web service that returns place predictions in response to an HTTP request, means it may return more than one results as it is designed to cope with ambiguous queries.

On the other hand, Geocoding API converts specific addresses (like "1600 Amphitheatre Parkway, Mountain View, CA") into geographic coordinates (like latitude 37.423021 and longitude -122.083739). This is the reason why it is only returning one result.

As for the Places Text Search API, it usually returns information about a set of places based on a string. For example, your given Places Text Search API web request, which is

https://maps.googleapis.com/maps/api/place/textsearch/json?query=VIAvia andrea roma®ion=it&language=it&key=YOUR_API_KEY

returns 4 different places in the response. These are:

  • Via Annia Regilla, 27/29, 00178 Roma RM (ChIJu76VeZOJJRMR3CjFz4Y-Fd4)
  • Via di Sant'Andrea delle Fratte, 9, 00187 Roma RM (ChIJ2UYsr1RgLxMRnVSDeOy_ZLg)
  • Via di Grottarossa, 1035/1039, 00189 Roma RM (ChIJe7tWFQRnLxMRmG6wWxAD-vc)
  • Via Alberto Cadlolo, 101, 00136 Roma RM (ChIJHw9AUoRgLxMR5jT9M_JvJeQ)

To choose between Places Autocomplete API (may return more than one result) and Geocoding API (returns only one result) depends on your use-case and implementation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文