书生中学21届毕业去向地图

前言 看到隔壁8班要整这个地图,自己还是稍微有点馋的, 别人有的,我也可以有 做什么样子的? 8班的思路是照抄一个上三届的地图 也就是这张图 作者她在github上是有开源的,所以想做一个同款只需要替换一下学生数据即可 但我对她的地图并不是特别满意,因为其定位区域太过于模糊了 我们可以看到,她把杭州的一大堆人放在一起显示,而我则希望比例尺能再放大一些 是的,我不能直接白嫖了 我希望做一个在地图上把各个学生位置比较精确地标出来的地图,而不是这样一个笼统的地图 怎么做? 有以下几个问题 学生数据从哪来? 指望学校老师去收集数据不知道要等到什么时候了,所以必须自己去收集, 因此我找了两位同学合作收集,其中一位是班长, 首先我们将朋友圈和qq空间的零散信息进行了简单的搜集, 当然这还远远不够,多数人是没有发布到这些地方的,因此要一个个去问 此时班长的身份就显得很有优势,不管去问谁的录取都不会显得非常奇怪,反而很容易被误认为是老师要求收集的 地图从哪来? 要找到现成的地图最好是找一个成熟的地图应用供应商,然后使用他的开放平台 我最终选择的是高德地图 民用而言,高德地图算是大家都比较熟悉的地图,也做的比较大 另外,高德地图开放平台的文档看起来也非常齐全,对于开发者而言能大幅度提升开发效率 怎么标点? 最初,我是想着每个学生标记一个点, 但是,如果很多学生录取到同一个学校就会导致点的重叠 这样就需要去调整各个点的偏移量,总之事情就变得麻烦了起来 不如干脆一个学校一个点标记,旁边挂一个文本框然后把学生安排进去 实现难度上,文档上明确地写着点标记的用法,因此没有什么实现难度 标点的位置从哪来? 点标记文档说是需要标点的经纬度来进行标记 经纬度从哪来?就需要用到另一个api了 下面为错误示范 我选用了逆地理编码api, 因为有各个学校的名称,他肯定是学校地址的一段内容,所以进行逆地理编码后就能获取到学校的经纬度位置 按照这个想法进行调用,结果有四五个学校的位置出现了错误 最离谱的,中国美术学院被定位到了安徽,温州理工学院被定位到了温州市政府 这可不行,于是我在学生信息收集表上另外附加了一个字段,用于描述详细地址 结果有一部分学校的位置纠正回来了,也有一部分没有纠正回来 同时被纠正位置的学校他定位在学校门口的路上而没有定位在学校内部 事态陷入了僵局。 下面为正确操作 怎么会这样呢?平时我们搜索不是一搜索一个准吗? 事实上,我用错api了 地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口,提供结构化地址与经纬度之间的相互转化的能力。 结构化地址的定义: 首先,地址肯定是一串字符,内含国家、省份、城市、区县、城镇、乡村、街道、门牌号码、屋邨、大厦等建筑物名称。按照由大区域名称到小区域名称组合在一起的字符。一个有效的地址应该是独一无二的。注意:针对大陆、港、澳地区的地理编码转换时可以将国家信息选择性的忽略,但省、市、城镇等级别的地址构成是不能忽略的。暂时不支持返回台湾省的详细地址信息。 重新阅读文档,这个api是用于将结构化地址转换为经纬度的,而不是用于对名称进行搜索的, 结构化地址是什么?就是下面这种 北京市朝阳区阜通东大街6号 因此,我仅仅是传一个名称进去会出现一些错误也是很正常的 我应该使用的api名为关键字搜索api 替换后所有学校定位都正常了,除开多校区的学校可能定位的不是他们将要就读的校区罢了 不过,只需使用我之前走弯路的时候添加的详细地址字段便可以在不改变显示名称的情况下使其定位到特定校区 我前端水平差得很 地图是给人看的,好不好看和前端水平有关 我一直以来都是写后端的,虽然都说卷后端鬼迷心窍 我上次写前端是在写fishbot2的时候 当时戳了半天的element才戳出一个现代的框框和选项卡 因此我写了点golang将经纬度位置的获取等等操作放到了后端,生成一个json文件,用的时候调就可以了 点的标记反正文档都有,问题也不大...

July 28, 2021 · BaiMeow