请求调用googlemapsapi的python字符串编码

2024-04-29 19:37:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试对googlemapsapi进行一个简单的反向地理编码调用。。。在

lat = 40.714224
long = -73.961452
urlparams = {'LatLng': str(lat)+","+str(long),
             'key': dsc.GOOGLE_MAPS_API_KEY
            }
burl = 'http://maps.google.com/maps/api/geocode/json'
r = requests.get(burl, params=urlparams)

此操作失败,因为“,”正在转换为%2C:

^{pr2}$

我尝试了很多技巧(转换为字节、字节、编码(“utf-8”))来实现这一点,但都没有用。。。。我知道urllib模块及其parse.quote等方法,但我必须转换吗?在


Tags: key编码字节google地理longmapslat
2条回答

编辑:显然参数名区分大小写。您还需要使用HTTPS。下面是一个工作代码:

lat = 40.714224
long = -73.961452
urlparams = {
             'latlng': "{},{}".format(lat, long),
             'key': dsc.GOOGLE_MAPS_API_KEY
            }
burl = 'https://maps.google.com/maps/api/geocode/json'
r = requests.get(burl, params=urlparams)

原始(错误)答案:用数组代替字符串行吗?在

^{pr2}$

放弃。改用pygeocoder:

my_geocoder = Geocoder(api_key=dsc.GOOGLE_MAPS_API_KEY)
results = my_geocoder.reverse_geocode(lat, long)

相关问题 更多 >