Google maps api 3 Google Maps JS API Suggestion AutocompletionService并不总是返回相同的地址
谷歌地图API建议并不总是返回相同的地址。我们有一个每10分钟运行一次的探测,每天大约运行8次PlaceService.GetPlaceDetails不会返回相同的地址 以下是HTTP调用: 大多数时候:Google maps api 3 Google Maps JS API Suggestion AutocompletionService并不总是返回相同的地址,google-maps-api-3,Google Maps Api 3,谷歌地图API建议并不总是返回相同的地址。我们有一个每10分钟运行一次的探测,每天大约运行8次PlaceService.GetPlaceDetails不会返回相同的地址 以下是HTTP调用: 大多数时候: GET https://maps.googleapis.com/maps/api/place/js/AutocompletionService.GetPredictions?1s169%20Avenue%20Boll%C3%A9e%2C%20Le%20Mans%2C%20France&
GET https://maps.googleapis.com/maps/api/place/js/AutocompletionService.GetPredictions?1s169%20Avenue%20Boll%C3%A9e%2C%20Le%20Mans%2C%20France&4sfr-FR&7scountry%3Afr&15e3&client=*******&callback=_xdc_._ca6qq&token=18520 HTTP/1.1
HTTP/1.1 200 OK ../.. ["169 Avenue Bollée, Le Mans, France", ../..
然后Google JS API调用:
GET https://maps.googleapis.com/maps/api/place/js/PlaceService.GetPlaceDetails
HTTP/1.1 200 OK
../..
{
"long_name" : "169",
"short_name" : "169",
"types" : [ "street_number" ]
},
每天大约8次:
同样的要求
GET https://maps.googleapis.com/maps/api/place/js/AutocompletionService.GetPredictions?1s169%20Avenue%20Boll%C3%A9e%2C%20Le%20Mans%2C%20France&4sfr-FR&7scountry%3Afr&15e3&client=******&callback=_xdc_._ca6qq&token=123244 HTTP/1.1
HTTP/1.1 200 OK ../.. ["169 Avenue Bollée, Le Mans, France", ../..
但是GetPlaceDetails返回另一个街道号码(注意“181-167”而不是“169”)
有人知道怎么可能吗?我看不到这两者之间有任何其他HTTP调用。它导致我在探测过程中出错,因为它无法在181-167中找到地址的对应客户端。来自Google Map Premium的答案(翻译自法语): 由于与Google服务的交互,Places数据库一直在更改,以便不断改进结果。在您的情况下,位置是相同的(相同的坐标),但绑定到此位置的地址略有不同。谷歌的搜索结果不会改变。你应该:
- 更改代码以接受街道号码范围
- 或者使用用户选择的地址
我们决定选择另一个测试地址,该地址的准确率较低。可能您正在访问谷歌的不同数据中心,这些数据中心的同步性不太好。因此,要么谷歌可以更好地同步集群,要么我进行更稳健的探测(但更复杂),要么我模拟谷歌呼叫(但我的探测变得具体且不太现实)或者我接受探测“有时”会失败:
GET https://maps.googleapis.com/maps/api/place/js/PlaceService.GetPlaceDetails?2sfr-FR&8sEiMxNjkgQXZlbnVlIEJvbGzDqWUsIExlIE1hbnMsIEZyYW5jZQ&10e3&client=gme-giecovea1&callback=_xdc_._8rimfj&token=108576 HTTP/1.1
HTTP/1.1 200 OK
../..
{
"long_name" : "181-167",
"short_name" : "181-167",
"types" : [ "street_number" ]
},