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

记mapboxGL实现鼠标经过高亮时的一个问题

概述

mapboxGL实现鼠标经过高亮可通过注册图层的mousemovemoveout事件来实现,在mousemove事件中可以拿到当前经过的要素,但是当使用该要素时,发现在某个地图级别下会有线和面数据展示不全的情况。究其原因,发现是mapboxGL在绘图的时候为提升效率也会进行切片,所以图层事件返回的要素时切片后的,当数据范围比较大、地图级别比较大的时候,必然会分成多块。

表现

实际情况

期望结果

实现

fetch('/data/999999.geojson').then(res => res.json()).then(res => {const adminFeatures = res.featuresmap.on("mousemove", "admin-boundry-fill", (e) => {// const feature = e.features[0]  // 此种方式会有图形不完整的情况const adcode = e.features[0].properties.adcode;const feature = adminFeatures.find((d) => d.properties.adcode === adcode);map.getSource("admin-boundry-h").setData(feature);map.getCanvasContainer().style.cursor = "pointer";});map.on("mouseout", "admin-boundry-fill", (e) => {map.getSource("admin-boundry-h").setData(new Geojson());map.getCanvasContainer().style.cursor = "default";});})
http://www.lryc.cn/news/354877.html

相关文章:

  • AI重塑了我的工作流
  • vue使用Less报错semi-colon expectedcss(css-semicolonexpected)的解决方法
  • 如何使用golang自带工具对代码进行覆盖率测试
  • Android studio版本和Android gradle plugin版本对应表
  • JavaRedis-主从集群-分片-数据结构-回收处理-缓存问题
  • Java原生JDBC概览
  • C# 跨线程访问UI组件,serialPort1串口接收数据
  • D - New Friends(AtCoder Beginner Contest 350)
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit(2)
  • Web组态可视化编辑器 快速绘制组态图
  • 怎样在网上赚点零花钱?推荐十个正规的赚钱兼职平台
  • 手动操作很麻烦?试试这个自动加好友神器吧!
  • 金额转大写
  • vue的axios配置超时时间;单个接口配置响应时间
  • leetcode-盛水最多的容器-109
  • VMware ESXi中安装Proxmox VE
  • Java(其十二)--集合·初级
  • 疯狂“造人”!美国两党共推新法案,5年培养100万AI及量子人才
  • Python 文件操作指南:使用 open 和 with open 实现高效读写
  • FasterNet代码阅读
  • Rust开源Web框架Salvo源码编译
  • 基于Java+SpringBoot+Mybaties-plus+Vue+elememt + uniapp 新闻资讯 的设计与实现
  • TCP—三次握手和四次挥手
  • 基于UDP的网络聊天室
  • 数组-两个升序数组中位数
  • 每日一题《leetcode--116.填充每个结点的下一个右侧结点》
  • 【MySQL精通之路】InnoDB(6)-磁盘结构(5)-Redolog
  • 【探索自然语言处理:构建一个简单的文本分类器】
  • 概率论统计——大数定律
  • vscode终端命令行前面出现两个conda环境名的问题决解方法