import requests
import json
import time
import xlwt
import numpy as np
import random
import matplotlib.pyplot as plt
#创建或者覆写excel表
book=xlwt.Workbook(encoding="utf-8") #创建对象
sheet=book.add_sheet('距离',cell_overwrite_ok=True) #创建工作表
sheet1=book.add_sheet('经纬度',cell_overwrite_ok=True)
AK="此处填入百度地图开放平台获取的key"
#经纬度获取(字符型)
def get(address):
url = r"http://api.map.baidu.com/place/v2/search?query={}®ion=上海&output=json&ak={}".format(address,AK)
res = requests.get(url)
json_data = json.loads(res.text)
if json_data["status"] == 0:
lat = json_data["results"][0]["location"]["lat"] # 纬度
lng = json_data["results"][0]["location"]["lng"] # 经度
else:
print(json_data["message"])
return "0,0", json_data["status"]
return str(lat) + "," + str(lng), json_data["status"]#jingw#jingweiu
#返回地点的经纬度(数值)
def jingwei(address):
url = r"http://api.map.baidu.com/place/v2/search?query={}®ion=上海&output=json&ak={}".format(address, AK)
res = requests.get(url)
json_data = json.loads(res.text)
if json_data["status"] == 0:
lat = json_data["results"][0]["location"]["lat"] # 纬度
lng = json_data["results"][0]["location"]["lng"] # 经度
else:
print(json_data["message"])
return "0,0", json_data["status"]
return lng,lat #jingweiu
#距离计算
def distance(start,end):
url = "https://api.map.baidu.com/directionlite/v1/driving?origin={}&destination={}&ak={}".format(start,end,AK)
res=requests.get(url)
json_data=json.loads(res.text)
if json_data["status"] == 0:
return json_data["result"]["routes"][0]["distance"]
else:
print(json_data["message"])
return -1
#合并函数 直接输入地点算距离
def clcDistance(startName,endName):
start, status1 = get(startName)
end, status2 = get(endName)
if status1 == 0 and status2 ==