一、首先你得去百度地图API去注册你得AK标识,然后就是编写代码了
二、编写代码
#encoding=utf8 #编码
import json
import urllib.request
#基于百度地图API下的经纬度信息来解析地理位置信息
def getlocation(lat,lng):
#31.809928, 102.537467, 3019.300
#lat = '31.809928'
#lng = '102.537467'
url = 'http://api.map.baidu.com/geocoder/v2/?location=' + lat + ',' + lng + '&output=json&pois=1&ak=您的AK'
req = urllib.request.urlopen(url) # json格式的返回数据
res = req.read().decode("utf-8") # 将其他编码的字符串解码成unicode
return json.loads(res)
#json序列化解析数据(lat:纬度,lng:经度)
def jsonFormat(lat,lng):
str = getlocation(lat,lng)
dictjson={}#声明一个字典
#get()获取json里面的数据
jsonResult = str.get('result')
address = jsonResult.get('addressComponent')
#国家
country = address.get('country')
#国家编号(0:中国)
country_code = address.get('country_code')
#省
province = address.get('province')
#城市
city = address.get('city')
#城市等级
city_level = address.get('city_level')
#县级
district = address.get('district')
#把获取到的值,添加到字典里(添加)
dictjson['country']=country
dictjson['country_code'] = country_code
dictjson['province'] = province
dictjson['city'] = city
dictjson['city_level'] = city_level
dictjson['district']=district
return dictjson
if __name__ == '__main__':
jsonFormat(getlocation())