当前位置:  开发笔记 > 编程语言 > 正文

Google地图地理编码在浏览器中运行,但不是从PHP服务器运行

如何解决《Google地图地理编码在浏览器中运行,但不是从PHP服务器运行》经验,为你挑选了1个好方法。

当我从浏览器中获取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将检查languageGET参数,如果没有,它将检查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,法国)只是一个糟糕的结果,请考虑提交错误报告.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有