python经纬度获取县名_使用python获取城市经纬度

python2 环境下利用google geocoding api获取城市经纬度信息。

1.[代码][Python]代码

import urllib, urllib2

import json

class 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值