当我从浏览器中获取Google Maps Geocoding API时,它正在运行,但不是来自我的PHP脚本.
工作:https://maps.google.com/maps/api/geocode/json?appens = false&key = AzazaSyDqIj_SXTf5Z5DgE_cvn5VF9h5NbuaiCbs&address = La%20P%C3%A9relle,%20Saint-Pierre-de-Chartreuse,%20France
退货:
{ "results" : [ { "address_components" : [ { "long_name" : "La Pérelle", "short_name" : "La Pérelle", "types" : [ "colloquial_area", "political" ] }, ], "formatted_address" : "La Pérelle, 38380, France", // other stuffs "partial_match" : true, "place_id" : "ChIJZzDRRAX4ikcRnZ-vb1tnTgY", "types" : [ "colloquial_area", "political" ] } ], "status" : "OK" }
不工作:
返回:
{ "results" : [], "status" : "ZERO_RESULTS" }有任何想法吗?
更新:有些人也没有看到他们的浏览器有任何结果.谷歌可以利用我的立场来展示不错的结果吗?
1> miguev..:(缺席)语言偏好最常见于此问题.
当您从浏览器发送API请求时:
https://maps.google.com/maps/api/geocode/json?address=La%20P%C3%A9relle,%20Saint-Pierre-de-Chartreuse,%20France
可能会发生您的浏览器语言首选项设置为首选语言作为第一语言,这使您的浏览器包括发送Accept-Language标头以及所有请求.
Google地理编码API将检查
language
GET参数,如果没有,它将检查Accept-Language标头作为备份.如果您的浏览器设置为首选法语内容,则应使上述请求等效https://maps.google.com/maps/api/geocode/json?address=La%20P%C3%A9relle,%20Saint-Pierre-de-Chartreuse,%20France&language=fr
对我来说,因为我的浏览器设置为更喜欢英语,第一个请求返回"La Perelle,73130 Saint-François-Longchamp,France",而第二个请求返回"LaPérelle,38380 Saint-Pierre-de-Chartreuse,France".
自2016年末引入新的地理编码器以来,该
region
参数不再是唯一影响结果的language
参数,该参数确实会影响结果:首选语言对API选择返回的结果集以及返回的顺序影响很小.地理编码器根据语言不同地解释缩写,例如街道类型的缩写,或者可能在一种语言中有效而在另一种语言中无效的同义词.例如,utca和tér是匈牙利语中的街道的同义词.
也就是说,如果"La Perelle,73130 Saint-François-Longchamp,France"对于上述查询(LaPérelle,Saint-Pierre-de-Chartreuse,法国)只是一个糟糕的结果,请考虑提交错误报告.