Python中使用GoogleMaps API(包含Geocoding API,Places API Web Service )详细教程

本文介绍了如何在Python中使用Google Maps API,包括获取项目密钥、安装必要包,以及使用Geocoding API和Places API Web Service。详细讲解了从搜索地点到获取邮政编码的过程,提供了代码示例,并对比了第三方包python-google-places与官方googlemaps包的优劣。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

业务需要根据经纬度获取该城市的邮政编码,需要通过调用GoogleMaps来搜索地点,来获取地点的详细信息。于是查阅了一些相关的资料,特意分享出来给大家参考参考。
涉及相关的资料:
google官方文档
GoogleMaps Geocoding API:https://developers.google.com/maps/documentation/geocoding/geocoding-strategies
GoogleMaps Places API Web Service:https://developers.google.com/places/web-service/search?hl=zh-tw

使用的python包:
http://github.com/slimkrazy/python-google-places
https://github.com/googlemaps/google-maps-services-python

前提条件:你能够正常访问Google!

如果不能正常访问到google就想用GoogleMaps,那这就比较尴尬了,我也很无奈。

1.准备工作

你得有个google账号,打开https://console.developers.google.com/apis/credentials?project=imperial-palace-174906&authuser=0

1.1创建google项目获取项目秘钥

如果还没创建项目的话,那先创建个项目,我这里是创建了一个googlemaps的项目
googlemaps项目及其秘钥
请记住3中圈中的秘钥,我们代码中要使用到。

1.2在项目中添加googleMaps服务:Google Maps Geocoding API,Google Places API Web Service

在刚刚创建的项目库中,添加googleMaps的Google Maps Geocoding API和Google Places API Web Service
项目库中添加googlemap服务
(由于我已经添加了,所以列表中是没有显示的)

1.3然后在信息中心就可以看到你刚才添加的两个maps服务

信息中心
上面的图片是最近是用项目秘钥请求这个maps服务的一些图标

2.安装python所需的包(我使用的是python2.7.12版本)

两个包分别是:
http://github.com/slimkrazy/python-google-places警示:这个包存在一个严重的bug,详情:http://blog.csdn.net/dongyouyuan/article/details/77169560
pip安装:pip install python-google-places
https://github.com/googlemaps/google-maps-services-python
pip安装:pip install -U googlemaps
你会发现googlemaps中也有python-google-places中的功能,想问我为毛还用一个第三方的包,然而我真的无言以对,鬼知道我当初为什么用这个包。0.0(我当时搜google maps places api python 第一个就是 http://github.com/slimkrazy/python-google-places就用了)后面看有没有时间,对比一下这包和google官方包的区别
————-2017-08-04补充———————————————————————————————————–
看了一下googlemaps中的python-google-places的功能,发现其返回地点的内容实在是少,只有寥寥无几的几个字段。 http://github.com/slimkrazy/python-google-places中详细程度真的是很厉害。所用用它是没错的

{
            "rating": 5, 
            "name": "STR Analytics", 
            "reference": "CmRRAAAAEyrq32Ve7RKLtI6CWpaAoTFrR2yVWlKTfnbNTmCRLj3yXcIs2k6H45JPPwPZyIpMPxEBfVIqdD9BTWekJliAvgX_OH-FJyYUWnso9oZ2CjN97I2GWhXTSK1TBUo3HBVxEhDRxa-R4nxh8UqHeJPi9LHtGhQ6VMxxTnuXCwm9vZgY0IcnTaqQhg", 
            "geometry": {
                "location": {
                    "lat": 39.9148173, 
                    "lng": -105.1206877
                }, 
                "viewport": {
                    "northeast": {
                        "lat": 39.9158015802915, 
                        "lng": -105.1193284197085
                    }, 
                    "southwest": {
                        "lat"
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值