文章目录

  • 写在前面
    • 使用环境
  • 正式开始
    • folium的安装
    • 显示地图
    • 为地图做标记
    • 人机交互
    • 保存地图

写在前面

如标题所示,绘制地图所需要的核心库便是folium,官方文档中有对folium更全面的使用教程,本篇博文仅限于在地图上标记、注释等部分。

使用环境

所有的代码及演示均默认在Jupyter Notebook下运行。

正式开始

folium的安装

要完成这个实例,首先要先将所需的库import进来,如果没有安装该库,可用conda安装:
conda install folium -c conda-forge

当然,也可以用pip install folium安装,不过安装Anaconda以后会附带Jupyter Notebook,正好可以用于此次开发:

显示地图

首先,我们展示一张世界地图,直接使用语句folium.Map()即可:

显然,这一张粗略的世界地图能展示的信息少得可怜,我们需要将地图变得更加细致,精确到某一地区,这样才有足够的价值。

于是,我们可以给folium.Map()函数传递一个初始坐标,这个坐标用一个长度为2的list表示,0位为纬度,1位为经度,以广州为例:
m = folium.Map(location=[23.13,113.27])

同时,我们可以调整初始的放大比例,这需要用到zoomstart参数:

除了zoomstart参数,folium.Map()函数还有许多别的参数,可以用来更换图层风格、地图数据来源:

这些操作,可在官方文档做进一步学习,这里采用默认的OpenStreetMap。

为地图做标记

做标记主要用到folium.Marker().add_to()函数,Marker()后面的括号可以对标记做一些设置,add_to()后面的括号自然就是要添加标记的地图名字。

最基础的就是加一个普通的空白标记,只需要在Marker()中传入经纬度坐标即可,下图就把广州塔所在的位置标注了出来:

import folium
m = folium.Map(location=[23.13,113.27], zoom_start=12)
CantonTower=[23.10900,113.31915]
folium.Marker(CantonTower).add_to(m)


除了位置,这些标记还可以携带一些文字信息,分为popuptooltip。其中,popup是点击标签后弹出的内容,而tooltip则是鼠标停在标签上就会显示的内容。

folium.Marker(CantonTower,popup=parse_zhch('中国第一高塔'),tooltip=parse_zhch('广州塔')).add_to(m)为例,鼠标悬停时:

点击标签时:

要注意,直接传入中文会导致乱码,需要下面的函数进行一次转换:

def parse_zhch(s):return str(str(s).encode('ascii' , 'xmlcharrefreplace'))[2:-1]

除了文字信息,标记的图案和颜色也是可以修改的,例如:

folium.Marker(Cailan,popup=parse_zhch('特色点心'),tooltip=parse_zhch('蔡澜港式点心'),icon=folium.Icon(color='green',icon='glyphicon-cutlery')).add_to(m)


更多的图案,可以在这个网站上寻找。

由于是外国网站,所以访问和使用图案的时候,需要“科学上网”。

能够提供图案的不止这一家网站,例如另一个网站,只是调用图案的语句有所不同:

folium.Marker(location = Cailan, popup=parse_zhch('233'), icon=folium.Icon(color='green' , prefix='fa' , icon='adjust')
).add_to(m)


但是这个网站上的一些图案博主即使开“科学上网”也无法正常使用,有些不开就能用,令人摸不着头脑。

人机交互

除了上述打标记并弹出文字的方式外,还有一些其他的与地图交互的方式,比如加上如下语句,就可以在点击地图时显示对应坐标的纬度与经度:

m.add_child(folium.LatLngPopup())


还可以通过这个语句,使得点击过后会在地图上生成新的标记,这个标记同样可以有popup。不过,上述其他对标记的魔改似乎无法在这种情况下生效:

m.add_child(folium.ClickForMarker(popup='wow'))

失败案例:

成功案例:

保存地图

保存就很简单,使用地图名.save("文件名.html")即可,生成的文件会保存在.ipynb同一目录下:


需要注意的是,如果用国外网站的图案魔改了标记,保存时也要打开“科学上网”才行。

使用folium制作出行地图相关推荐

  1. 使用Folium制作相册地图

    使用Folium制作相册地图 folium是JavaScript上著名的交互式地图库leaflet.js为Python提供的接口,通过它,我们可以在Python端调用leaflet的相关功能. lea ...

  2. 【python绘制地图】使用folium制作地图,可解决多数问题

    Python使用folium制作地图并生成png图片 第一章 folium的方法和类的介绍(思维导图) 第二章 使用folium制作地图 第三章 folium实用功能进阶 第三章 使用Html2Ima ...

  3. python 实现对地图的点击_python使用folium库绘制地图点击框

    python使用folium 库生成地图网页的具体代码,供大家参考,具体内容如下 folium 官网 import folium import pandas as pd def mark_map(da ...

  4. 导数,微积分,牛顿运动学制作创意地图

    导数,微积分,牛顿运动学制作创意地图 转载于:https://www.cnblogs.com/liuys635/p/11180988.html

  5. 中高德地图只显示某一城市_干货 | 如何快速制作数据地图?让你的可视化逼格再高一级!...

    在数据可视化中,地图可视化是高频应用的一种.我们在一些新闻报道和商业杂志上,会经常看到运用地图来分析展示商业现象,这样的利用地图来反映和分析数据的形式叫数据地图. 数据地图可以最直观的表达出数据之间的 ...

  6. python作中国地图背景气泡图_exce表格中怎么制作中国地图背景数据气泡图

    exce表格中怎么制作中国地图背景数据气泡图 exce表格中怎么制作中国地图背景数据气泡图?excel表格中想要在中国地图上显示气泡来看看地区分布情况,该怎么设置中国地图气泡图表呢?下面我们就来看看详 ...

  7. 如何利用自己的数据制作社交地图?只显示可视区域内的标注

    地址:http://www.cnblogs.com/milkmap/archive/2012/02/02/2335989.html [百度地图API]如何利用自己的数据制作社交地图?只显示可视区域内的 ...

  8. 【百度地图API】如何利用自己的数据制作社交地图?只显示可视区域内的标注...

    原文:[百度地图API]如何利用自己的数据制作社交地图?只显示可视区域内的标注 摘要:如果你自己的数据已经超过1万个,如何进行合理的显示?除了聚合marker外,还有一个办法.那就是,只显示可视区域内 ...

  9. 【百度地图API】如何利用自己的数据制作社交地图?只显示可视区域内的标注

    [百度地图API]如何利用自己的数据制作社交地图?只显示可视区域内的标注 摘要:如果你自己的数据已经超过1万个,如何进行合理的显示?除了聚合marker外,还有一个办法.那就是,只显示可视区域内的标注 ...

  10. 如何在SuperMap iDesktop制作卫星地图

    1.要制作卫星地图,首先要把地图图片导进到数据源中 2.然后点击配准,选择新建配准,参考图层的数据集选择比较容易找到该图片位置的. 3. 在参考图层找到地图位置,把道路相关的数据集添加到参考图层.添加 ...

最新文章

  1. 找条朋友圈手都刷断了,原来是没有掌握正确的使用姿势...
  2. java调用easyxml接口_【技术教程】如何通过Java程序调用RTSP拉流协议视频平台EasyNVR程序接口?...
  3. 【CodeForces - 892C 】Pride (数学,思维构造,gcd)
  4. VScode远程连接linux
  5. 用Python绘制了若干张词云图,惊艳了所有人
  6. 某三甲医院大数据平台建设应用与实践
  7. 水泊梁山好汉们的排名技巧
  8. 数据结构与算法-普利姆算法(Prim) | 尚硅谷韩顺平
  9. 实验4 用JavaBean实现简单计算器
  10. 【代码审计-JAVA】基于javaweb框架开发的
  11. 我们游戏后台架构学习
  12. EChat(简易聊天项目)五、存储聊天记录中的图片
  13. plc学习入门有什么技巧
  14. docker指定网桥和网段
  15. 2021秋招嵌入式笔试面试题目汇总
  16. 发布坐标转换软件OpenCoord的使用第二集-椭球转换
  17. 【渝粤题库】陕西师范大学165103 劳动经济学 作业
  18. php获取nginx真实IP,nginx proxy获取用户真实ip
  19. 我的大二暑假实验室经历
  20. Rocky和ChatGPT谈笑风生的日子 |【AI行研商业价值分析】

热门文章

  1. SSM通信研究:如何拦截SSM代理流量
  2. Shellex:针对shellcode的转换与处理工具
  3. 网络安全基础——破解系统密码
  4. 依据BaiduHack多线程爬取攻击点url和网站url,保存至txt
  5. 分组 php库,纯真ip数据库查询的php实现(补充分组查询)
  6. sas+eg连接mysql_SAS EG 连接 SQL Server 2017数据库
  7. 浏览器访问linux终端,使用浏览器访问 Linux 终端
  8. 简单的notepad将\n转化为换行
  9. webdriver原理
  10. [git]git 分支