【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)
})
})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现