不使用AMap.DistrictSearch,通过poi数据绘制省市县区块

个人申请高德地图key时无法使用AMap.DistrictSearch,可以通过poi数据绘制省市县区块

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

2.​

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

npm install json-loader --save-dev

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

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

复制代码
import areaList from "../../map/beijing.json";

4.获取点位坐标

复制代码
//绘制地图区域
             mapArea(){
                let _this = this
                let polygon;
                var points=[];
                areaList.features.forEach(i=>{
                    points=[[]];
                    i.geometry.coordinates[0][0].forEach(item=>{
                            points[0].push(new AMap.LngLat(item[0],item[1]));
                            // points.push([item[0],item[1]]);
                    })
                })
                return points
            },

5.生成地图

复制代码
initMap(){
                let _this = this;
                let mask = this.mapArea()
                _this.map = new AMap.Map('mapBox', {
                        mask: mask,
                        center: [110.051784, 34.74073],
                        expandZoomRange: true,
                        disableSocket: true,
                        viewMode: '3D',
                        showLabel: true,
                        labelzIndex: 130,
                        zoom: 10.2,
                        layers: [
                            new AMap.TileLayer.RoadNet({
                            }),
                            new AMap.TileLayer.Satellite()
                        ]
                    });

                    var maskerIn = new AMap.Marker({
                        position: [116.501415, 39.926055],
                        map: _this.map
                    })
                    var maskerOut = new AMap.Marker({//区域外的不会显示
                        position: [117.001415, 39.926055],
                        map: _this.map
                    })
                    var height = -5000;
                    var color = '#0088ffcc';//rgba
                    // 添加描边
                        new AMap.Polyline({
                            path: mask[0],
                            strokeColor: '#99ffff',
                            strokeWeight: 6,
                            map: _this.map
                        })
            },
相关推荐
程序员清洒1 小时前
Flutter for OpenHarmony:Text — 文本显示与样式控制
开发语言·javascript·flutter
雨季6662 小时前
Flutter 三端应用实战:OpenHarmony 简易“动态内边距调节器”交互模式深度解析
javascript·flutter·ui·交互·dart
天人合一peng2 小时前
Unity中button 和toggle监听事件函数有无参数
前端·unity·游戏引擎
会飞的战斗鸡2 小时前
JS中的链表(含leetcode例题)
javascript·leetcode·链表
方也_arkling3 小时前
别名路径联想提示。@/统一文件路径的配置
前端·javascript
毕设源码-朱学姐3 小时前
【开题答辩全过程】以 基于web教师继续教育系统的设计与实现为例,包含答辩的问题和答案
前端
qq_177767373 小时前
React Native鸿蒙跨平台剧集管理应用实现,包含主应用组件、剧集列表、分类筛选、搜索排序等功能模块
javascript·react native·react.js·交互·harmonyos
qq_177767373 小时前
React Native鸿蒙跨平台自定义复选框组件,通过样式数组实现选中/未选中状态的样式切换,使用链式调用替代样式数组,实现状态驱动的样式变化
javascript·react native·react.js·架构·ecmascript·harmonyos·媒体
web打印社区3 小时前
web-print-pdf:突破浏览器限制,实现专业级Web静默打印
前端·javascript·vue.js·electron·html
RFCEO3 小时前
前端编程 课程十三、:CSS核心基础1:CSS选择器
前端·css·css基础选择器详细教程·css类选择器使用方法·css类选择器命名规范·css后代选择器·精准选中嵌套元素