V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ccsulzf0627
V2EX  ›  分享创造

写了个地图交互 + 查看省市信息的小程序

  •  
  •   ccsulzf0627 · 2021-09-25 16:54:36 +08:00 · 2523 次点击
    这是一个创建于 1146 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我做了什么?

    开发了一个微信小程序,主要是通过地图交互来查询省市县|区的相关信息,小程序通过省->市->县|区点击,进行地图的绘画和百度百科的信息展示

    我怎么做的?

    • 获取高德地图 Geo 数据

    • 获取每个省市县,存储到数据库

    • 获取每个省市县的百度百科词条信息,存储到数据库

    技术栈?

    前端

    后端

    • 使用nestjs构建服务端应用

    • 使用crawler对百度百科词条信息进行爬取

    这个小程序学到了什么?

    • remax 好用,完全可以使用 react 无缝开发,但是体积有点偏大

    • 小程序上做这种图表显示不尽人意,交互基本上不怎么好做

    • nestjs 写起来挺舒服的,写过 java 的应该很容易上手,搭配 typeorm 操作数据库也非常的方便

    分享几条有趣的省市信息

    • 全国铁西区有三个,两个在辽宁省,一个在吉林省

    • 有些地名和越南,朝鲜,韩国,日本重名,和越南的特别多,比如说山西太原市,越南太原省

    • 设立市辖区的地级市(嘉峪关市,东莞市,中山市,三沙市,儋州市)

    • 省直辖县级行政单位

    这篇文章的目的

    • 总结一下

    • 希望大家能体验一下,然后说说自己的体验和想法

    预览效果和小程序码

    预览效果如下:

    深圳地图及信息


    小程序体验码如下:(也可以微信搜索省市信息大全)

    小程序码

    第 1 条附言  ·  2021-09-25 22:38:08 +08:00

    修正信息

          设立市辖区的地级市(嘉峪关市,东莞市,中山市,三沙市,儋州市) -> 没有设立市辖区的地级市(嘉峪关市,东莞市,中山市,三沙市,儋州市
    
    第 2 条附言  ·  2021-10-07 15:38:29 +08:00
    修正-重复地区的信息重复
    16 条回复    2021-09-28 13:39:56 +08:00
    also24
        1
    also24  
       2021-09-25 16:59:47 +08:00
    捉个虫:
    设立市辖区的地级市(嘉峪关市,东莞市,中山市,三沙市,儋州市)

    应为:
    未设市辖区的地级市(嘉峪关市,东莞市,中山市,儋州市)


    另:三沙市已经设区,不再是直筒子市
    http://www.mca.gov.cn/article/xw/tzgg/202004/20200400026955.shtml
    also24
        2
    also24  
       2021-09-25 17:08:43 +08:00
    另外补充一个特殊的行政区划:
    伊犁哈萨克自治州 是全国唯一的,下辖有地区的地级行政区。

    同时,伊犁州自身为自治州,属于地级行政区,下辖有伊宁市、奎屯市、霍尔果斯市、伊宁县、霍城县、巩留县、新源县、昭苏县、特克斯县、尼勒克县、察布查尔锡伯自治县,全部为县级行政区。

    但是它下辖的阿勒泰地区 和 塔城地区 是地级行政区,理论上与伊犁州自身平级。
    dengshen
        3
    dengshen  
       2021-09-26 08:36:30 +08:00 via iPhone
    开源吗?想学习一下
    sphendae
        4
    sphendae  
       2021-09-26 08:38:08 +08:00
    挺有价值的
    sphendae
        5
    sphendae  
       2021-09-26 08:42:35 +08:00
    另外,返回键在最底部,一级一级返回比较麻烦,能否改进一下。
    ccsulzf0627
        6
    ccsulzf0627  
    OP
       2021-09-26 09:44:45 +08:00
    @also24 感谢老哥的回复,地图数据主要是来源高德,要等高德那边更新才行
    kingzeus
        7
    kingzeus  
       2021-09-26 09:46:20 +08:00
    开源吗?想学习一下 +1
    ccsulzf0627
        8
    ccsulzf0627  
    OP
       2021-09-26 09:46:46 +08:00
    @dengshen 暂时没有这个想法,开源的话,代码要重构整理下[哭笑]
    ccsulzf0627
        9
    ccsulzf0627  
    OP
       2021-09-26 09:47:18 +08:00
    @sphendae 好的,这个返回确实很烦,感谢老哥鼓励
    Thinginitself
        10
    Thinginitself  
       2021-09-26 11:21:20 +08:00
    @also24 伊犁这个真是太特殊了~实践中大家一般都把阿勒泰地区和塔城地区不算在伊犁下面,比如写地址都会写新疆塔城地区 xxxx,不会写新疆伊犁州塔城地区 xxx 的。
    also24
        11
    also24  
       2021-09-26 12:37:27 +08:00
    @Thinginitself #10
    是的,很多时候还会专门说明一下,这两个地区,是『名义上』归伊犁下辖。

    高德地图上也是单独划分出来的。
    asmrobot
        12
    asmrobot  
       2021-09-26 21:06:35 +08:00
    有个 BUG:石家庄的长安区,显示的西安长安区的信息
    ccsulzf0627
        13
    ccsulzf0627  
    OP
       2021-09-27 09:19:22 +08:00
    @asmrobot 感谢回馈,我下班之后改下
    Thinginitself
        14
    Thinginitself  
       2021-09-28 10:30:01 +08:00
    @ccsulzf0627 试了一下这是个普遍的 bug,鞍山市的铁西区也会定位到沈阳的铁西区。就是我猜你区划的 key 是名称,但是实际上中国有不少区划是同一个名字的,光铁西区就有三个、朝阳区也有两,还有不少别的。
    Thinginitself
        15
    Thinginitself  
       2021-09-28 10:31:13 +08:00
    @ccsulzf0627 哦发现你知道有三个铁西区呀,那就不知道为啥会有 bug 了
    ccsulzf0627
        16
    ccsulzf0627  
    OP
       2021-09-28 13:39:56 +08:00
    @Thinginitself 重名的问题,要发个版本才能解决了,自己写的测试不严格。。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1485 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:25 · PVG 01:25 · LAX 09:25 · JFK 12:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.