码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【ArcGIS For JS】前端geojson渲染行政区划图层并加标签


    原理

    通过DataV工具 生成行政区的geojson(得到各区的面元素数据), 随后使用手动绘制featureLayer与Label,并加载到地图。

        //vue3加载geojson数据public/geojson/pt.json,在MapView渲染上加载geojson数据 type是"MultiPolygon"
          fetch(baseUrl+'/geojson/pt.json')
            .then(response => response.json())
            .then(data => {
              console.log(data)
              // debugger
              let graphics = data.features.map((feature) => {
                //Polygon 单个多边形绘制
                let geometry = {
                  type: 'polygon',
                  rings: feature.geometry.coordinates[0]
                }
                return new Graphic({
                  geometry: geometry,
                  attributes: feature.properties
                })
              })
                          
              let featureLayer = new FeatureLayer({
                fields: [
                  {
                    name: 'ObjectID',
                    alias: 'ObjectID',
                    type: 'oid'
                  },
                  {
                    name: 'name',
                    alias: 'name',
                    type: 'string'
                  },
                  {
                    name: 'adcode',
                    alias: 'adcode',
                    type: 'integer'
                  }
                ],
                objectIdField: 'ObjectID',
                geometryType: 'polygon',
                spatialReference: {
                  wkid: 4326
                },
                source: graphics,
                renderer: {
                  type: 'simple',
                  symbol: {
                    type: 'simple-fill',
                    color: [227, 139, 79, 0.8],
                    outline: {
                      color: [255, 255, 255],
                      width: 1
                    }
                  }
                },
                labelingInfo: [
                  {
                    labelExpressionInfo: {
                      expression: '$feature.name'
                    },
                    symbol: {
                      type: 'text',
                      color: [0, 0, 0, 1],
                      haloColor: [255, 255, 255, 1],
                      haloSize: 1,
                      font: {
                        size: 12
                      }
                    }
                  }
                ]
              })
    
              //地图加载featureLayer
              view.map.layers.add(featureLayer)
            })
    
        })
    
    

    源码地址

    https://github.com/Billyas/arcgis-vue3-demo

    演示站点

    https://billyas.github.io/arcgis-vue3-demo/

    效果

    在这里插入图片描述

  • 相关阅读:
    python 删除特定字符所在行
    Using Set Processing Effectively 有效地使用集合处理
    【Android】 四大组件详解之广播接收器、内容提供器
    公开课:1小时攻破云原生面试难点-孟凡杰
    VMware虚拟机联网时自己遇到的所有问题 - 双端互ping - 虚拟机ping外网 - 安装10台以上虚拟机的经验总结
    进程管理基础
    为什么很多公司都开始使用Go语言了?
    C++ 不知算法系列之深入动态规划算法思想
    用 JHipster Azure Spring Apps 构建和部署 Spring 应用
    Mac中使用virtualenv和virtualenvwrapper
  • 原文地址:https://blog.csdn.net/horizon08/article/details/139281170
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号