Python根据经纬度生成并调用地图
在某公众号看到一个绘制地图的模块folium的介绍,感觉挺好玩,编一个根据经纬度生成并调用地图的小程序与大家分享,编写这个小程序虽然挺简单,但是遇到一些莫名其妙的小问题。
我用的开发环境是PyCharm,生成的html文件在程序直接用浏览器调用不可以,后来把文件拷贝到其他路径,又出现问题,如果是汉字的也不能直接在程序里调用,可以直接双击打开,但是我需要的是程序里直接调用,反复的折腾发现如果换成字母文件名就可以。
可能是编码的问题吧,遇到这些问题也是一种学习。
分享代码如下:
# 导入相关的模块
import folium # 地图模块
import os # 用于文件路径操作
import webbrowser # 浏览器调用
import urllib # 地址解析
from urllib import parse # 地址解析转换
import shutil # 移动文件到任意自己指定的目录
try:
hometown = input('请输入您的家乡名称:')
lat_deg = float(input('请输入您的家乡所处的纬度:'))
lon_deg = float(input('请输入您的家乡所处的经度:'))
city_Map = folium.Map(location=[lat_deg, lon_deg], zoom_start=10)
city_Map.save(f'{hometown}.html')
targetPath = ''
shutil.move(os.path.join(os.getcwd(),f'{hometown}.html'), targetPath) # 不移动文件到另一个目录,webbrower打不开
url_str = urllib.parse.quote(f'{hometown}') # 很奇怪,不解析,也无法打开
webbrowser.open('file://' + targetPath + url_str + '.html')
except:
print('请核实输入的信息!')
运行效果如下图:
评论