前端实现地图省市县区块划分显示(通过poi数据实现)

1.引入对应地图(应该都可以,有多边形绘制功能就行)

2.进入POI数据网站找到需要的省市县,下载对应的GeoJson文件 ,此处为poi数据网站链接

3.处理geoJson数据,可以直接新建json文件,将下载的geojson内容复制进入也可以使用。也可以在项目内webpack配置文件中修改,同时确保安装了json-loader。我一般都用前者就足够了

npm install json-loader --save-dev

module: {
  rules: [
    {
      test: /\.geojson$/,
      loader: 'json-loader'
    }
  ]
}

4.将文件放入项目内,从组件中引入json文件

import areaList from "../../map/beijing.json";

5.在地图初始化后,通过json中的点数据进行绘制多边形

 mapArea() {
      let polygon;
      var points = [];
      //areaList为引入的json文件,features为点的数组
      areaList.features.forEach((i) => {
        points = [];
        i.geometry.coordinates[0][0].forEach((item) => {
          points.push(new T.LngLat(item[0], item[1]));
        });
        //此处用的天地图api,其他地图要修改 T.---,根据使用地图修改即可,
        //T.LngLat是根据数据创造经纬度对象,T.Polygo是根据点制作多边形
        polygon = new T.Polygon(points, {
          color: "#13BBD0",
          weight: 3,
          opacity: 0.9,
          fillColor: "#2F8AB3",
          fillOpacity: 0.4,
        });
        this.map.addOverLay(polygon);
      });
    },

6.效果预览

  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值