1.获取秘钥
调用百度地图API实现得申请百度账号或者登陆百度账号,然后申请自己的ak秘钥。链接如下:添加链接描述
下面是百度创建的app设置:
2.调用API将经纬度信息解析成json信息
def get_loca(lat, long):url = 'http://api./reverse_geocoding/v3/?ak=‘你的key’=json&coordtype=wgs84ll&location='+str(long)+','+str(lat)req = urllib.request.urlopen(url) # json格式的返回数据res = req.read().decode("utf-8") # 将其他编码的字符串解码成unicodereturn json.loads(res)
3.将返回信息里面的城市,省份提取出来,并存入数据库
# 给公司加省市def input_latitude(request):companys = CompanyData.objects.all()for i in companys:a = get_loca(i.longitude, i.latitude)i.province = a['result']['addressComponent']['province']i.city = a['result']['addressComponent']['city']i.save()return HttpResponse("success")
大约等待20s左右就行了。
我数据库中一共有600数据,没有出现问题,貌似超过1000会出现问题。
python 调用百度地图api 实现批量经纬度转换为实际省市地点(api调用 json解析 mysql读取与写入)