高德 几千条数据,点标记Marker转海量标注 LabelMarker

news2024/9/22 5:32:36

在这里插入图片描述

**
高德地图说:

当需要在地图添加千级以上的点标记时,LabelMarker 是代替 Marker 的更好选择。

**

  • 如图,当数据量超过两千时,如果我们使用的是Marker点标记,页面将会非常的卡,卡顿很久都不出现标记点。
  • 因此,我们采用高德推荐的LabelMarker 海量标注来代替Marker点标记。

原本的Marker点标记:

        let mapConfig = {
          zoom: 4,
          cityName: MapCityName,
          layers: "", //[new AMap.TileLayer.Satellite()]
          lang: this.lang === "zh" ? "zh_cn" : "en",
        }
        // 1. 实例化地图map
        let map = new AMap.Map("js-container", mapConfig)
        
        //自定义标记点 icon
        var icon = new AMap.Icon({
          // 图标尺寸
          size: new AMap.Size(20, 20),
          // 图标的取图地址
          image: imageUrl,
          // 图标所用图片大小
          imageSize: new AMap.Size(20, 20),
        })
        
        /**
         * 循环添加经纬度创建标记点
         */
        for (var i = 0; i < this.dataList.length; i++) {
        
        // 2. 创建每个标记点
          var marker = new AMap.Marker({
            position: this.lnglat[i], //经纬度
            map: map, // 将标记点与地图实例绑定
            icon: icon,
            offset: new AMap.Pixel(-10, -10),
          })
          
          // 点击标记点时的事件
          marker.on("click", function (e) {})
          // 鼠标悬浮于标记点时的事件
          marker.on("mouseover", function (e) {})
          marker.on("mouseout",  function (e) {})
        }

LabelMarker海量标注:

        /*  
        1. 创建地图实例map;
        2. 创建 LabelMarker;
        3. 创建 LabelsLayer;
        4. 将已创建的 LabelMarker 添加到 LabelsLayer 上;
        5. 将 LabelsLayer 添加到地图实例 。
        */
        
        let mapConfig = {
          zoom: 4, //设置地图显示的缩放级别
          cityName: MapCityName,
          layers: "", //[new AMap.TileLayer.Satellite()]
          lang: this.lang === "zh" ? "zh_cn" : "en",
        }
        // 1. 实例化地图map
        let map = new AMap.Map("js-container", mapConfig)
        
        // 图标对象
        var icon = {
          // 图标尺寸
          type: "image", // 图标类型,现阶段只支持 image 类型
          size: new AMap.Size(20, 20),
          // 图标的取图地址
          image: imageUrl,
          // 图标所用图片大小
          imageSize: new AMap.Size(20, 20),
        }
        var markers = [] //标记点列表
        /**
         * 循环添加经纬度创建标记点
         */
        for (var i = 0; i < this.dataList.length; i++) {
        // 2. 创建海量标注点labelMarker 
          var labelMarker = new AMap.LabelMarker({
            position: this.lnglat[i], //标注点经纬度
            icon: icon,
            offset: new AMap.Pixel(-10, -10),
          })
          //数组保存标记点
          markers.push(labelMarker)

          // labelMarker海量标注点的点击事件
          labelMarker.on("click", function (e) {})
          // 鼠标悬浮于标记点时的事件
          labelMarker.on("mouseover", function (e) {})
          labelMarker.on("mouseout", function (e) {})
        }

        // 3. 创建 LabelsLayer 图层
        var labelsLayer = new AMap.LabelsLayer({
          zooms: [3, 20],
          zIndex: 1000,
          collision: false,
        })
		// 4. 将已创建的海量标注点 LabelMarker 添加到图层 LabelsLayer 上
        labelsLayer.add(markers)
        // 5. 将 LabelsLayer 添加到地图实例
        map.add(labelsLayer)
        
  • 注,如果地图能出现,但是标注点未出现,可以试试刷新一下地图,看能否解决。比如:
          setTimeout(() => {
                this.$refs.aMap.initMap() //重新实例化地图
              }, 500)

高德地图-海量标注点教程
高德地图数据点过多卡顿的博客参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1132293.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NFS网盘挂载-Ubuntu(linux)

我有2台机器&#xff0c;我想把A机器挂载到B机器上。 NFS安装 B机器执行-服务端&#xff1a;sudo apt-get install nfs-kernel-server A机器执行-客户端&#xff1a;sudo apt-get install nfs-common 指定共享盘 进入B机器&#xff0c;配置共享盘 创建需要让别人访问的目录…

Pytorch:model.train()和model.eval()用法和区别,以及model.eval()和torch.no_grad()的区别

1 model.train() 和 model.eval()用法和区别 1.1 model.train() model.train()的作用是启用 Batch Normalization 和 Dropout。 如果模型中有BN层(Batch Normalization&#xff09;和Dropout&#xff0c;需要在训练时添加model.train()。model.train()是保证BN层能够用到每一…

时尚女童卫衣—Get麻麻同款和宝贝一起穿

分享女儿的时尚穿搭—卫衣 不知道各位姐妹那边的天气如何 我们这边现在穿卫衣刚刚好 这件卫衣百搭圆领&#xff0c;经典的额版哦 加绒卫衣特别保暖 卡通鹅的图案宝贝特别喜欢 和宝贝一起穿亲子装真的很幸福&#xff01;

记录一次“超出内存限制”的原因

问题&#xff1a; 问题的来源是力扣的这一条题目&#xff1a;LCR 048. 二叉树的序列化与反序列化 - 力扣&#xff08;LeetCode&#xff09; 我寻思着也没啥,就前序遍历呗&#xff0c;时间和空间复杂度都是O(n)&#xff0c;应该能把题目K掉。 问题代码&#xff1a; /*** Defini…

InCopy 2024 v19.0.0.151(文案撰写与编辑软件)

InCopy 2024 for Mac是一款文案撰写与编辑软件&#xff0c;适用于在Mac上进行文字编辑和排版工作。它是Adobe Creative Cloud套件中的一部分&#xff0c;主要面向文字编辑人员、作家和出版团队&#xff0c;提供了一系列强大的功能&#xff0c;以协同工作和改进工作流程。 InCo…

学校巡课工具,这次真包教包会!

随着教育领域的不断发展和科技的快速进步&#xff0c;在线巡课系统已经成为一种强大的工具&#xff0c;为学校、教育机构和教育者提供了全新的教学监督和评估方式。 客户案例 中学巡课项目 成都某中学面临着监督和改进教学质量的挑战。泛地缘科技推出的在线巡课系统&#xff0c…

欧拉图相关的生成与计数问题探究

最近学了一波国家集训队2018论文的最后一个专题。顺便带上了一些我的注解。 先放一波这个论文 1.基本概念 欧拉图问题是图论中的一类特殊的问题。在本文的介绍过程中&#xff0c;我们将会使用一些图 论术语。为了使本文叙述准确&#xff0c;本节将给出一些术语的定义。 定义…

嵌入式软件找实习需要掌握哪些知识?

嵌入式软件找实习需要掌握哪些知识&#xff1f; 嵌入式软件实习暂时不用刷力扣。具体需要掌握哪些知识每个公司的要求都不太一样&#xff0c;因为嵌入式也有很多细分领域&#xff0c;单片机、C语言是需要熟悉的&#xff0c;最近很多小伙伴找我&#xff0c;说想要一些嵌入式资料…

基于springboot实现篮球论坛管理系统项目【项目源码+论文说明】

基于springboot实现篮球论坛管理系统演示 摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗…

前端应用发布到nodejs server后浏览器刷新404问题

现象&#xff1a;Angular、Vue和React项目SPA应用如果路由模式为history&#xff0c;部署到服务器后&#xff0c;点击浏览器刷新按钮会出现404。 原因&#xff1a;当路由模式为history的时候&#xff0c;服务器端会根据浏览器中的请求地址去匹配资源&#xff0c;此时服务器端没…

安卓恶意应用识别(四)(特征处理与分类模型构建)——终结

前言 前面三章将数据初步整理出来&#xff1a; 1.安卓恶意应用识别&#xff08;一&#xff09;&#xff08;Python批量爬取下载安卓应用&#xff09; 2.安卓恶意应用识别&#xff08;二&#xff09;&#xff08;安卓APK反编译&#xff09; 3.安卓恶意应用识别&#xff08;三&a…

一张Lambda大数据架构架构图

架构图 大数据的架构包括了Lambda架构和Kappa架构&#xff0c;Lambda架构分解为三层&#xff1a;即批处理层、加速层和服务层&#xff1b;Kappa架构不同于Lambda同时计算流计算和批计算并合并视图&#xff0c;Kappa只会通过流计算一条的数据链路计算并产生视图。 该系统的大数…

1024程序员节|是时候,展示真正的实力了!

“代码改变世界&#xff0c;开源创造未来” 一年一度的程序员节如期而至&#xff01; 在由“0”和“1”构建的二进制世界里 运行程序的硬件进制基础是“1024” 因此&#xff0c;将每一年的10月24日定为“程序员节” 而作为码出每一个1024的程序员 则是这个“二进制世界”里…

*Django中的Ajax jq的书写样式1

导入插件&#xff0c;导入jquery,json是添加的json文件 Ajax的get请求与post请求 urls.py path(in3/,views.in3), views.py def in3(request):return render(request,07.html) 要返回数据的path没有写&#xff0c;html就是下面图片中控制台的内容&#xff0c;记得传递参数…

图片gif怎么做?这一招分分钟制作

在现代的通讯工具中&#xff0c;gif动态表情已经是人们日常必不可少的一种交流工具了。当我们想要自己制作gif动画图片的时候该怎么办呢&#xff1f;这时候&#xff0c;只需要使用GIF中文网的gif图片制作&#xff08;https://www.gif.cn/&#xff09;功能&#xff0c;上传多张静…

MySQL恢复不小心误删的数据记录(binlog)-生产实操

同事操作删除生产数据时&#xff0c;未及时备份导致误删除部份数据。现通过mysql的binlog日志回滚数据。 1.由于我们第一时间找到相应的操作时间的大概在12点~13点之间操作删除了product和product_item表的部份数据。因此我们只要找到这期间的binlog文件就行了&#xff0c; 脚…

【字符串】【字符串和字符数组的相互转化】Leetcode 541 反转字符串 II

【字符串】【toCharArray & String st new String&#xff08;ch&#xff09;】Leetcode 541 反转字符串 II 字符串和字符数组的相互转化:star:解法1 字符串和字符数组的相互转化⭐️ 解法1 时间复杂度O(N) 这个解法的时间复杂度是O(N)&#xff0c;其中N是字符串的长度。…

美颜SDK集成指南:为应用添加视频美颜功能

随着社交媒体和直播应用的兴起&#xff0c;视频美颜功能已成为用户追求的一项热门特性。用户希望能够在拍摄照片或进行实时视频直播时&#xff0c;使用美颜功能来增强其外观。为了满足这一需求&#xff0c;开发者可以考虑集成美颜SDK&#xff0c;为其应用增加这一吸引人的功能。…

花生供应链中的沙门氏菌、大肠杆菌和肠杆菌: 从农场到餐桌

1.1Title:Salmonella, Escherichia coli and Enterobacteriaceae in the peanut supply chain: From farm to table 1.2 Author: Nascimento M. S. 1.3 机构&#xff1a;Campinas University 1.4 分区/影响因子&#xff1a;Q1/6.475 1.5 期刊&#xff1a;FOOD RESEARCH INT…

linux,windows命令行输出控制指令,带颜色的信息,多行刷新,进度条效果,golang

一、带颜色的信息 linux 颜色及模式编号 // 前景 背景 颜色 // --------------------------------------- // 30 40 黑色 // 31 41 红色 // 32 42 绿色 // 33 43 黄色 // 34 44 蓝色 // 35 45 紫红色 // 36 46 青蓝色 // 37 47 白色 // // 模式代码 意义 //…