使用python获取城市经纬度,python获取经纬度,python2 环境下利
使用python获取城市经纬度,python获取经纬度,python2 环境下利
python2 环境下利用google geocoding api获取城市经纬度信息。
import urllib, urllib2import jsonclass GeoCoding(object): def __init__(self, key = ' '): self.url_para = {'address': '', 'sensor': 'false', 'language': 'zh-CN'} self.url = 'http://maps.googleapis.com/maps/api/geocode/json' self.geo_info_list = [] def get_latlng_by_name(self, geo_name): self.url_para['address'] = geo_name.encode('utf-8') arguments = urllib.urlencode(self.url_para) url_get_geo = self.url + '?' + arguments handler = urllib2.urlopen(url_get_geo) resp_data = handler.read() handler.close() st = self.parse_ret_json(resp_data) return self.geo_info_list def parse_ret_json(self, ret_str): parse_st = False ret_json = json.loads(ret_str) if ret_json['status'] == 'OK': #get lat lng and addr for geo_info in ret_json['results']: #print(geo_info) geo_dict = {'lat': geo_info['geometry']['location']['lat'], 'lng': geo_info['geometry']['location']['lng'], 'addr': geo_info['formatted_address'], 'city':'', 'state_province':'', 'country':'', 'types': geo_info['types']} #get city state_provine country for addr_comp in geo_info['address_components']: if 'country' in addr_comp['types']: geo_dict['country'] = addr_comp['long_name'] elif 'administrative_area_level_1' in addr_comp['types']: geo_dict['state_province'] = addr_comp['long_name'] elif 'sublocality' in addr_comp['types'] or \\ 'locality' in addr_comp['types'] or \\ 'administrative_area_level_2' in addr_comp['types'] or \\ 'administrative_area_level_3' in addr_comp['types']: geo_dict['city'] = addr_comp['long_name'] self.geo_info_list.append(geo_dict) parse_st = True print(self.geo_info_list) else: parse_st = False print(ret_json['status']) return parse_st#该片段来自于http://byrx.net
相关内容
- Python unicode码转utf8,pythonutf8,Python unico
- 寻找时间点,时间,任务需要每隔五分钟执行一
- 下载360最新的安装包,下载360安装包,从360官网上下载最
- Python的logging模块封装,pythonlogging模块,使得logging模块用
- 排序,,q = lambda x
- Extended Euclid Algorithm,euclidalgorithm,d = gcd(a, b
- python实现的类文件接口的gopher客户端,,import socke
- python操作sqlite的CRUD,pythonsqlitecrud,import sqlit
- 在centos上安装python pip和easy_install,centoseasy_install,在c
- centos安装 python-dev包提示No package python-dev available,cen
评论关闭