罗孚学堂
用户956
地图导航
分享
[20200329]手把手教你快速构建一份全国疫情分布地图
输入“/”快速插入内容
[20200329]手把手教你快速构建一份全国疫情分布地图
阅读小提示:本文附送源码,文末有链接,同时本文测试公众号(罗孚传说)的付费阅读功能,1元看全文。
本文基于
百度地图API
和fangkai提供的
疫情数据API
制作,是一份真实并实时的疫情场所分布地图,演示地址:
https://rovertang.com/map/ncov/
花絮
上次发表了
如何制作一份疫情场所分布地图?(附数据和源码)
一文的第二天,百度地图开放平台就发表了一篇
【教程】如何快速构建一张周边疫情地图
,一度让我同事以为是我投的稿。
罗孚确实没投稿,可能是百度地图不爽,你用高德地图
API
做了份,那我也公开一份用百度地图API的地图吧,还附送了
源码和模拟数据
。
而高德地图
API
,至今也没有任何信息给到罗孚,反倒是腾讯地图,同样也是第二天,几乎同百度差不多的时间,给罗孚发了邮件,没搞懂百年不给罗孚发邮件的腾讯位置中心,怎么突然会有我的邮箱地址。
腾讯位置中心发来的邮件主题“腾讯位置服务抗击疫情保障计划:免费配额提升至3倍!”,一听就是一个非常有吸引力的标题,点进去一看,还提供了“紧急上线疫情小区地图,开放给所有开发者接入”,不仅营销做的好,还实用啊,赶紧申请。
本以为腾讯地图开放平台提供了数据
API
,结果实际仅仅是一个
H5的页面
(没搞懂这个链接给我开放了啥),再发邮件咨询数据API的事宜,就没人回复了,一度让罗孚想去扒腾讯的API数据。
罗孚“将百度地图
API
和腾讯数据杂交成一份真实的疫情场所地图”的想法泡汤了,于是去GitHub搜索了一圈,虽然大部分都是扒丁香园的疫情数量数据,但也找到了一份
疫情小区分布地图
,是安徽大学的一名学生制作的,还
开放了API
(点赞点赞),最终罗孚用此数据API同百度地图API杂交成功。
效果预览
功能说明
显示疫情小区
当地图层级大于9时,显示疫情小区位置,疫情小区位置数据由数据
API
根据城市名获得,城市名为地图中心点所在的城市名,当移动地图后地图中心所对应的城市名发生变化,则加载新城市名对应的疫情小区位置数据。
显示疫情小区详情
点击疫情小区位置marker,从底部弹出疫情位置的详细信息,详细信息内容来自数据
API
,包括位置名称、省、市、县以及数据来源和来源链接。
显示省市位置
当地图层级在6到10之间,则显示城市点位数据,当地图层级小于7时,显示省份点位数据,此数据罗孚整理,增加了省、市名称。
自定位和地图查询
自定位功能用于显示自身位置信息,需要允许定位才能显示,如果定位失败则显示北京市地图和数据。
地图查询功能,输入关键词后,自动显示最佳结果,点击某一结果可以将地图定位到该结果并显示周边疫情信息。
技术点
由于源码不是罗孚所写,原文也提供了概要的源码说明,所以罗孚在此仅介绍一下罗孚修改的几个关键点,以及这里的坑,顺便再吐槽一下百度地图提供的源码。
根据不同比例尺显示不同数据