当前位置: 首页 > news >正文

AntV L7 之LarkMap 地图

 一、安装

$ npm install -S @antv/l7 @antv/larkmap
# or
$ yarn add @antv/l7 @antv/larkmap

二、引入包

import type { LarkMapProps, LineLayerProps } from '@antv/larkmap';
import { LarkMap, LineLayer, Marker } from '@antv/larkmap';

三、config配置

const layerOptions:Omit<LineLayerProps, 'source'> = {autoFit: true,shape: 'line' as const,size: 1.5,color: '#00F3FF',style: {opacity: 0.8,lineType: 'solid' as const,},
};const config:LarkMapProps= {mapType: 'Gaode',logoVisible: false,mapOptions: {style: 'darkblue',pitch: 10,center: [122.1758,  41.6966],zoom: 9,token: 'b9a397170e10102aa541d64d0e6fbcfb',},
};

 四、特殊点预先设置

const OffLineArr = [824, 823];
const WarnArr = [778,779, 738];

五、设置source数据源和mark的数据源

const [marker, setMarker] = useState<any[]>([])
const [source, setSource] = useState({data: [],parser: { type:'geojson'}
});

 六、请求边界线和mark点位数据

useEffect(() => {let baseUrl ='http://gs-cloud.apps.sy.sypesco.com/geoserver-cloud/jzhs/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=jzhs%3Astructureboundary_view_xzqh&maxFeatures=50&outputFormat=application%2Fjson&srsName=EPSG:4326&typeNames=';let guanxian_url = baseUrl + 'jzhs:jzhsupdm';fetch(guanxian_url).then(res => res.json()).then(res => {console.log("🚀 ~ guanxian_url  res:", res);setSource((prevState) => ({ ...prevState, data: res}));// let data1={//   data: [{path:[]}],//   parser: { type: 'json' ,coordinates: 'path' }// }// data1.data[0].path.push(res.features[0].geometry.coordinates[0]);// console.log('data1',data1);// setSource(data1);}).catch((error) => {console.error('获取边线:', error);});let baseUrl2 ='http://gs-cloud.apps.sy.sypesco.com/geoserver-cloud/jzhs/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=jzhs%3Apipelineassembly_view_initial&maxFeatures=50&outputFormat=application%2Fjson&srsName=EPSG:4326&typeNames=';let bengzhan_url = baseUrl2 + 'jzhs:jzhsupdm';fetch(bengzhan_url).then(res => res.json()).then(res => {console.log("🚀 ~ bengzhan_url res:", res);let markerList: any[] = [];res.features.forEach((item: any) => {let lnglat = item.geometry.coordinates;if (OffLineArr.includes(item.properties.fid)) {markerList.push({ id: item.id, name:item.properties.stationname,icon: offline, lng: lnglat[0], lat: lnglat[1] })} else if(WarnArr.includes(item.properties.fid)) {markerList.push({ id: item.id, name:item.properties.stationname,icon: warn, lng: lnglat[0], lat: lnglat[1] })} else{markerList.push({ id: item.id, name:item.properties.stationname,icon: normal, lng: lnglat[0], lat: lnglat[1] })}})// console.log("markerListmarkerList",markerList);setMarker(markerList);}).catch((error) => {console.error('获取泵站:', error);});}, []);

 七、larkmap结构

<LarkMap {...config} style={{width: "100%",height: "100%"}} onClick={getClick}><LineLayer {...layerOptions} source={source} />{marker.map(item =><Marker key={item.id}lngLat={{ lng: item.lng, lat: item.lat }}anchor="center"><div className='mark-box'><div className='title'>{item.name}</div><img src={item.icon} style={{ width: '25px', height: '36px' }} /></div></Marker>)}
</LarkMap>

 

 

http://www.dtcms.com/a/264885.html

相关文章:

  • A模块 系统与网络安全 第三门课 网络通信原理-4
  • Notion 创始人 Ivan Zhao:传统软件开发是造桥,AI 开发更像酿酒,提供环境让 AI 自行发展
  • 机器学习在智能制造业中的应用:质量检测与设备故障预测
  • 使用v-bind指令绑定属性
  • VUE admin-element 后台管理系统三级菜单实现缓存
  • flutter更改第三方库pub get的缓存目录;更改.gradle文件夹存放目录
  • BERT Score是干啥的?
  • 【python】pdf拆成图片,加中文,再合成pdf
  • 网络协议传输层UDP协议
  • 【NLP第一期 语料处理:从获取到预处理的完整链路解析】
  • 非接触式DIC测量系统:助力汽车研发与测试的创新技术应用
  • 从UI设计到数字孪生实战部署:构建智慧农业的智能灌溉系统
  • 数据结构学习之栈
  • Rust实现黑客帝国数字雨特效
  • 软件开发早期阶段,使用存储过程的优势探讨:敏捷开发下的利器
  • Spark从入门到熟悉(篇二)
  • Xbox One 控制器转换为 macOS HID 设备的工作原理分析
  • Ubuntu云服务器上部署发布Vite项目
  • 阿里云实时语音识别
  • 无线网络标准信道宽度参数速查
  • 人体属性识别+跌倒检测:儿童行为监测与安全升级
  • 【构造】P8976 「DTOI-4」排列|普及+
  • 2025最新全球AI大模型排名 国内外模型动态洗牌
  • 【Linux】不小心又创建了一个root权限账户,怎么将它删除?!
  • Linux 后台启动java jar 程序 nohup java -jar
  • PHP Yii2 安装SQL Server扩展-MAC M4 Pro芯片
  • 在mac下手动编译迁移的android版webrtc组件
  • 信息论与编码期末重点
  • 板凳-------Mysql cookbook学习 (十一--------2)
  • 代码训练LeetCode(44)螺旋矩阵