laresh

利用百度地图API实现地址和经纬度互换查询

 1 import json
 2 import requests
 3 
 4 
 5 def baiduMap(input_para):
 6     headers = {
 7         \'User-Agent\': \'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit\'
 8                       \'/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safar\'
 9                       \'i/537.36\'
10     }
11     if not isinstance(input_para, str):
12         input_para = str(input_para)
13     base_url = \'http://api.map.baidu.com/geocoder/v2/\'
14     ak = \'your ak\'
15     output = \'json\'
16     url = base_url + \'?\' + input_para + \'&output=\' + output + \'&ak=\' + ak
17     req = requests.get(url, headers=headers).text
18     temp = json.loads(req)
19     return temp
20 
21 def getLngLat(address):
22     place = \'address=\' + address
23     temp = baiduMap(place)
24     if \'result\' in temp.keys():
25         lat = temp[\'result\'][\'location\'][\'lat\']
26         lng = temp[\'result\'][\'location\'][\'lng\']
27         return lat, lng
28     else:
29         print(address + \'无法访问\')
30 
31 # lat_lng: tuple格式
32 def getPlace(lat_lng):
33     if not isinstance(lat_lng, str):
34         lat_lng = str(lat_lng)
35     lat_lng = \'location=\' + lat_lng[1:-1]
36     temp = baiduMap(lat_lng)
37     if \'result\' in temp.keys():
38         return temp[\'result\'][\'formatted_address\']
39     else:
40         print(\'经纬度\' + lat_lng + \'无法访问\')

 

分类:

技术点:

相关文章: