高德地图选择点位改变图标

news2025/2/22 4:39:01

一.循环渲染点位

如图所示,紫色点位为动态循环点位

首先,我们请求完接口,返回点位

这里是全部代码  下方有拆分讲解

this.map.remove(this.marks)
this.marks = []
this.map.plugin(['AMap.PlaceSearch'], () => {
    var PlaceSearchOptions = { //设置PlaceSearch属性
        city: "武汉", //城市
        type: "", //数据类别
        pageSize: 10, //每页结果数,默认10
        pageIndex: 1, //请求页码,默认1
        extensions: "base" //返回信息详略,默认为base(基本信息)
    };
    var MSearch = new this.amap.PlaceSearch(PlaceSearchOptions); //构造PlaceSearch类
    this.amap.Event.addListener(MSearch, "complete", (res) => {
        if (res.poiList.pois && res.poiList.pois.length) {
            this.map.setZoomAndCenter(15, [res.poiList.pois[0].location.lng, res.poiList.pois[0].location.lat])
            res.poiList.pois.forEach(item => {
                let marker = new this.amap.Marker({
                    position: [item.location.lng, item.location.lat],
                    icon: new this.amap.Icon({
                        image: require("@/assets/ple.png"),
                    })
                })
                this.marks.push(marker)
                marker.on('click', () => {
                    twParkingInfo({
                        longitude: item.location.lng,
                        latitude: item.location.lat
                    }).then(({ data }) => {
                        this.praking = data.data
                        this.isShow = true
                        this.marks.forEach((item, index) => {
                            item.setIcon(new this.amap.Icon({
                                image: require("@/assets/ple.png"),
                            }))
                        })
                        marker.setIcon(new this.amap.Icon({
                            image: require("@/assets/cs.png"),
                        }))
                        this.map.setZoomAndCenter(15, [item.location.lng, item.location.lat])
                    })

                })
                this.map.add(marker);

            });
        }
    }); //返回结果
    MSearch.search(this.input); //关键字查询
});

这里我调用了高德的查询 API 搜索后点击搜索按钮事件 循环高德返回点位

循环添加点位

res.poiList.pois.forEach(item => {
    let marker = new this.amap.Marker({
        position: [item.location.lng, item.location.lat],
        icon: new this.amap.Icon({
            image: require("@/assets/ple.png"),
        })
    })
    this.map.add(marker);

});

二.定义数组接受新增点位

data 里面定义一个数组 我的叫  marks 

这里在循环的时候将新增的 marker 全都 pushmarks

this.marks.push(marker)

这里添加到数组里有两点好处

1. 便于下次搜索添加新点位之前  清除掉上次搜索增加点位

this.map.remove(this.marks) // 清除点位
this.marks = []

所以每次调用查询方法时  将之前增加点位移除  并将该数组清空

2. 便于修改图标

marker.on('click', () => {
    // 每次点击  将点位数组循环  将图标修改成统一图标
   this.marks.forEach((item, index) => {
      item.setIcon(new this.amap.Icon({
         image: require("@/assets/ple.png"),
      }))
   })
   // 然后单独修改点击点位图标 即可 
   marker.setIcon(new this.amap.Icon({
       image: require("@/assets/cs.png"),
   }))
   this.map.setZoomAndCenter(15, [item.location.lng, item.location.lat])
})

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

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

相关文章

echarts一些配置项的使用

前言:我是自己最近写项目用到的,我做个整理; 一. 基本使用 1.具有大小(宽高)的div ,id唯一; 例如: <div id"crewEchart"></div> 2.在项目中引入: import * as echarts from "echarts"; 3.写一个关于他的方法,在mounted的时候调用: moun…

好用的爬取静态页面谷歌浏览器工具:Save All Resources

说明 该插件可以下载网页中的所有资源 使用方法

1513:受欢迎的牛(DFStarjan强连通分量)

信息学奥赛一本通&#xff08;C版&#xff09;在线评测系统 解析&#xff1a; tarjan算法&#xff0c;将有向图缩点&#xff0c;转换为拓扑图&#xff0c;并且统计出度为0的强连通分量&#xff1b; 如果这样的强连通分量只有一个&#xff0c;那么答案即为这个强连通分量中点的个…

fatal:Could not read from remote repository解决方法

Linux服务器如何连接GitHub&#xff1f; 生成SSH密钥 ssh-keygen -C “邮箱” -t rsa 存放位置一般是/root/.ssh/id_rsa 登录个人github&#xff0c;添加客户端生成的公钥 打开Settings&#xff0c;点击SSH and GPG keys&#xff0c;点击New SSH Key。Key中粘贴id_rsa.pub…

AutoGPT:让 AI 帮你完成任务事情 | 开源日报 No.54

Significant-Gravitas/AutoGPT Stars: 150.4k License: MIT AutoGPT 是开源 AI 代理生态系统的核心工具包。它采用模块化和可扩展的框架&#xff0c;使您能够专注于以下方面&#xff1a; 构建 - 为惊人之作打下基础。测试 - 将您的代理调整到完美状态。查看 - 观察进展成果呈…

2023年中国数据库一体机行业现状分析:随着IT发展,需求量增加[图]

数据库一体机服务器特指将数据库软件与标准硬件相结合的产物&#xff0c;其一般集数据处理、数据传输、数据存储3方面于一体&#xff0c;通过采用并行处理架构显著增加数据处理能力、可线性或准线性扩展的数据存储能力以及数据处理与数据存储之间的数据带宽&#xff0c;实现数据…

03 | Defining Query Methods 的命名语法与参数

Spring Data JPA 的最大特色是利用方法名定义查询方法&#xff08;Defining Query Methods&#xff09;来做 CRUD 操作&#xff0c;这一课时我将围绕这个内容来详细讲解。 在工作中&#xff0c;你是否经常为方法名的语义、命名规范而发愁&#xff1f;是否要为不同的查询条件写…

大模型微调学习

用好大模型的层次&#xff1a;1. 提示词工程(prompt engineering); 2. 大模型微调(fine tuning)为什么要对大模型微调&#xff1a; 1. 大模型预训练成本非常高&#xff1b; 2. 如果prompt engineering的效果达不到要求&#xff0c;企业又有比较好的自有数据&#xff0c;能够通过…

IOS17 轻松签全能签还能不能用?多开能否使用?升级后微信底栏消失怎么办?BY:后厂村路灯

从iphone15还没出就有小伙伴们追着问&#xff0c; 到现在也有人一直再问iOS17能不能用&#xff0c;看来换手机的人很多呀。 这里统一回答一下&#xff1a;“iOS17苹果签名可以用&#xff0c;多开也可以用”但是还是有些地方注意。 如果你是16系统直接升级刀17就可以&#xff…

20.1CubeMx配置FMC控制SDRAM【W9825G6KH-6】

本文使用stm32h723zgt6的fmc驱动sdram&#xff0c;实现内存扩展 sdram型号W9825G6KH-6 原理图&#xff1a; MCU引脚与SDRAM对应关系 引脚说明&#xff1a; SDRAM引脚&#xff1a; DQ[15:0]:数据线&#xff1b;数据位宽16 A[12:0]:地址线&#xff1b;行地址A[0:12]&#xff…

10月13日丨第十六届智慧城市大会《实景三维技术创新与应用》论坛日程抢先看!

第十六届智慧城市大会 智慧城市是数字中国、智慧社会的核心载体&#xff0c;是数字时代城市发展的高级形态。由中国服务贸易协会中国测绘学会、中国遥感委员会主办的第十六届智慧城市大会&#xff0c;将以“数实融合开放创新智引未来为主题&#xff0c;邀请行业主管单位和智慧…

【UE 插件】UE4 虚幻引擎 插件开发(带源码插件打包、无源码插件打包) 有这一篇文章就够了!!!

目录 0 引言1 快速入门1.1 新建插件的前提1.2 创建插件步骤1.3 打包插件 2 无源代码的插件制作3 插件详细介绍3.1 插件的使用方法3.1 UE 预置插件模版3.1.1 空白3.1.2 纯内容3.1.3 编辑器独立窗口3.1.4 编辑器工具栏按钮3.1.5 编辑器模式3.1.6 第三方库3.1.7 蓝图库 3.2 插件中…

milvus和相似度检索

流程 milvus的使用流程是 创建collection -> 创建partition -> 创建索引(如果需要检索) -> 插入数据 -> 检索 这里以Python为例, 使用的milvus版本为2.3.x 首先按照库&#xff0c; python3 -m pip install pymilvus Connect from pymilvus import connections c…

Java初学者容易犯的错误,Java程序员必须知道的学习路线

万事开头难&#xff0c;java 编程的初学者常常会遇到各种各样的问题。对于自学的读者来说&#xff0c;则是需要花费更多的时间、精力来解决这些问题&#xff0c;而且一旦遇到的问题几天都得不到解决&#xff0c;往往会带来很大的挫败感。 所以本节介绍一些初学者经常出现的错误…

Flutter笔记:电商中文货币显示插件Money Display

Flutter笔记 电商中文货币显示插件 Money Display 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/1338…

【数据结构】什么是线性表?

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 线性表的定义 生活中常见的线性表 结语 线性表的定义 线性结构的特点: 在数据元素的非空有限集中: 存在唯一的一个被称作"第一个"的数据元素;存在唯一的一个…

Linux系统编程_文件编程第1天:打开、写入、读取、关闭文件等编程

1. 文件编程概述&#xff08;399.1&#xff09; 内容超多&#xff1a; 文件系统原理及访问机制文件在内核中的管理机制什么是文件信息节点inode文件的共享文件权限&#xff0c;各种用户对其权限。。。。。。 应用为王&#xff0c;如&#xff1a; 账单游戏进度配置文件等 关心如…

WEditor的安装和使用

WEditor 编辑器能够提供辅助编写脚本&#xff0c;查看组件信息&#xff0c;调试代码等功能。 Screenshot 安装 依赖项目 Python3.6 uiautomator2facebook-wda Only tested in Google Chrome, IE seems not working well. pip3 install -U weditor # uiautomator2, faceboo…

龙迅LT86102UXE HDMI2.0转二路HDMI2.0/1.4,支持音频剥离,支持4K60HZ

龙迅LT86102UXE 1.描述&#xff1a; 龙迅 LT86102UXE HDMI2.0 分路器具有符合 HDMI2.0/1.4 规范的 1&#xff1a;2 分路器、最大 6Gbps 高速 数据速率、自适应均衡 RX 输入和预加重 TX 输出&#xff08;用于支持长电缆应用&#xff09;、内部 TX 通道交换以 实现灵活的 PCB…