【vue2高德地图api】高德地图forEach批量添加marker点标记,点击获取item对象『全网最详细』【翻遍csdn总结】

news2024/10/3 0:31:40

系列文章目录


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 系列文章目录
  • 前言
  • 一、展示地图
  • 二、getList获取列表数据
  • 三、写入marker标记在页面中
    • 1、marker的官方文档
    • 2、setMarks方法
    • 3 点击事件
    • 4 学习心得
  • 总结


前言

不是之前的手机端项目系列,但是可以参考,以后肯定用得到!

我的需求

getList获取数据,然后把经纬度,写入到页面中,点击marker标记 可以获得该项数据,例如name或者id之类的。


页面已经展示,只看加marker标记点,跳过一、二

一、展示地图

不会展示看过我前几期教程
我这里只贴代码

data变量

data() {
    return {
		AMap: null,
		marker: null,
		list: [],
		...

methods方法

看过我前几期,可以一键赋值拿走

initMap() {
  AMapLoader.load({
    key: this.mapJsKey, // 申请好的Web端开发者Key,首次调用 load 时必填
    version: '1.4.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
    resizeEnable: true, // 定位到当前位置
    plugins: [
      'AMap.ToolBar', //工具条
      'AMap.Scale',
    ], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
  })
    .then((AMap) => {
      this.AMap = AMap;
      this.map = new AMap.Map('Map', {
        viewMode: '3D', //是否为3D地图模式
        zoom: 8, //初始化地图级别 // 3-18
      });
      this.map.addControl(new AMap.Scale()); // 比例尺
      this.map.addControl(new AMap.ToolBar()); // 工具条
      this.getList();
    })
    .catch((e) => {
      console.log(e);
    });
},

在这里插入图片描述
在这里插入图片描述

二、getList获取列表数据

getList方法
获取你的列表,赋值,然后再执行setMarks方法

该处使用的url网络请求的数据。

三、写入marker标记在页面中

1、marker的官方文档

marker官方文档传送门
在这里插入图片描述

在文档中,高德地图api有提到一个参数

在这里插入图片描述
具体用法,看下面

2、setMarks方法

在这里插入图片描述

setMarks() {
  this.list.forEach((item, index) => {
    let marker = new this.AMap.Marker({
      // 经纬度对象,new AMap.LngLat(116.405467, 39.907761)
      // 也可以是经纬度构成的一维数组[116.39, 39.9]
      position: [item.longitude, item.latitude],
      title: 'aa',
      extData: { item }, // 写入你的item对象,必须要加{}
      label: '哈',
    });
    this.map.add(marker);
    marker.on('click', (e) => {
      let item = e.target.getExtData().item; // 获取item , 这个getExtData()是AMap.Marker的扩展方法
      console.log(item);
      console.log(e);
    });
  });
},

页面的点标记已经显示了

在这里插入图片描述

3 点击事件

点击后,打印的item和e

在这里插入图片描述

4 学习心得

在高德地图api教程中,的确有说明 用户自定义属性

extData参数用于 写入你自己想要的变量值,用于事件获取调用

let name='张三'
let marker = new this.AMap.Marker({
     position: [116.39, 39.9],
     extData: { name }, // 写入你的item对象
});

然后在监听marker点击事件中,

marker.on('click', (e) => {
	let name = e.target.getExtData().name;
	console.log(name); // name=张三
})

但是我翻了下高德地图的marker方法

  • 它并没有相对应的案例
    在这里插入图片描述
    所以这个 getExtData 到底怎么用,查遍了百度也不知道咋用

而且这个target里面的内容,如下图,不是专精高德地图api,所以压根看不懂。
在这里插入图片描述


总结

提示:这里对文章进行总结:

重点

  1. extData:用来写入你需要的参数,用法
let item={
	name:'张三',
	phone:'16666668888'
}
let marker = new this.AMap.Marker({
  position: [116.39, 39.9],
  extData: { item }, // 写入你的item对象
});
this.map.add(marker);
  1. getExtData:用来获取存入的参数
marker.on('click', (e) => {
  let item = e.target.getExtData().item;
});

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

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

相关文章

Qtcreator 编译C++代码并打包成APK

1:首先需要下载正确的SDK,NDK工具 我们可以使用sdkmanager工具来进行确认,我们当前已经安装了哪些模块 2:撰写自己的CMakeLists.txt 或者 QtCreator可以识别的.pro 文件 使用QtCreator 可以生产默认的.pro 文件,其中的…

ChatGPT 助力英文论文翻译和润色

文章目录 一、前言二、主要内容1. 中英互译2. 中文润色3. 英文润色 三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 随着全球化的推进,跨文化交流变得越来越重要。在学术领域,英文论文的质量对于研究成果的传…

Chapter1:C++概述

此专栏为移动机器人知识体系的 C {\rm C} C基础,基于《深入浅出 C {\rm C} C》(马晓锐)的笔记, g i t e e {\rm gitee} gitee链接: 移动机器人知识体系. 1.C概述 1.1 C概述 计算机系统分为硬件系统和软件系统。 硬件系统:指组成计算机的电子…

C++:二叉搜索树的原理和模拟实现

文章目录 二叉搜索树二叉搜索树的基本实现原理 二叉搜索树的实现非递归版本的实现递归版本的实现 二叉搜索树 二叉搜索树也叫做二叉排序树,可以是空树,也可以是满足一些要求的二叉树 若它的左子树不为空,则左子树上所有节点的值都小于根节点…

关于C2447 “{”: 缺少函数标题(是否是老式的形式表?)

以下两幅图,实际上并没有任何错误。 OR 我从vscode上把代码移植过来,实际并无任何错误。但是因为这个注释,一直在报错,我把所有注释都删了,程序就自然运行了。所以问题出在哪呢?希望大佬解答。

统信UOS技术开放日:四大领域全面接入AI大模型能力

1024是程序员的节日,10月24日,统信举办2023统信UOS技术开放日暨deepin Meetup北京站活动,发布与大模型同行的UOS AI、浏览器AI助手、邮箱AI助手、自然语言全局搜索、畅写在线等多项最新AI技术与产品应用。 统信软件高级副总经理、CTO、深度社…

C语言知识回顾

链接:https://pan.baidu.com/s/1CiB1Ydm4LTV6hZE8wx0VFw?pwdna4z 提取码:na4z --来自百度网盘超级会员V6的分享

【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步

MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步 前提介绍MySQL和ElasticSearch的同步双写优点缺点针对于缺点补充优化方案 MySQL和ElasticSearch的异步双写优点缺点 定时延时写入ElasticSearch数据库机制优点缺点 开源和成熟的数据迁移工具选型Logsta…

arcgis js api FeatureLayer加载时返回数据带*问题

接着这一问题衍生出来的问题 arcgis的MapServer服务查询出来的结果geometry坐标点带*的问题-CSDN博客 个人感觉像是server版本的问题,具体不清楚,pg数据库里面的shape点集合坐标点的精度是8,但是server服务查出来的默认都十几位。所以存在一…

使用达梦数据库的总结

–修改当前会话所在模式: set schema 模式名;–创建表空间、用户名并为用户指定表空间,并为用户授权 create tablespace "RSGL_BZK" datafile REGL_BZK.DBF size 7488 autoextend on next 128 maxsize 33554431 CACHE NORMAL; create user …

制作macOS Ventura U盘启动盘教程

macOS 14更新一段时间了,发现某些应用不适配想要无损降级,如何进行macOS的降级呢,除了备份好的时间机器备份,还需要一个可以引导的macOS U盘安装器,如何制作macOS 13 Ventura 系统启动U盘呢,小编带来对新手…

webGL编程指南 第四章 旋转+平移.TanslatedRotatdTriangle

我会持续更新关于wegl的编程指南中的代码。 当前的代码不会使用书中的缩写,每一步都是会展开写。希望能给后来学习的一些帮助 git代码地址 :git 本篇文章将把旋转和平位移结合起来,因为矩阵的不存在交换法则 文章中设计的矩阵地址在这里​…

苹果cms模板MXone V10.6魔改版网站源码短视大气海报样式

安装模板教程说明: 1、将模板压缩包上传到苹果cms程序/template下解压 2、网站板选择mxone 模板目录填写html 3、网站模板选择好之后一定要先访问前台,然后再进入后台设置 4、主题后台地址: 苹果cms后台点击,自定义菜单配置 …

6.6 Elasticsearch(六)京淘项目改造

文章目录 1.项目准备2.基础配置2.1 添加pom.xml依赖2.2 yml配置es服务器地址列表 3.具体实现3.1 item实体类封装3.2 添加接口3.3 SearchController 4.search.jsp界面4.1 搜索内容展示4.2 高亮内容样式设置4.3 搜索框内容回填4.4 添加上下页按钮 1.项目准备 我们切换回到此前的…

【C++】继承 ⑨ ( 继承中成员变量同名的处理方案 )

文章目录 一、继承中成员变量同名的处理方案1、继承中成员变量同名的场景说明2、使用域作用符区分同名成员变量 二、代码示例 - 继承中成员变量同名的处理方案 一、继承中成员变量同名的处理方案 1、继承中成员变量同名的场景说明 子类 继承 父类 的 成员 , 如果 子类 中定义了…

[数据分析与可视化] 基于Python绘制简单动图

动画是一种高效的可视化工具,能够提升用户的吸引力和视觉体验,有助于以富有意义的方式呈现数据可视化。本文的主要介绍在Python中两种简单制作动图的方法。其中一种方法是使用matplotlib的Animations模块绘制动图,另一种方法是基于Pillow生成…

2023年腾讯云双11活动入口及内容详细解读

2023年腾讯云11.11云上盛惠活动,海量产品轻松上云,免费领取9999元代金券礼包;云服务器、云数据库、COS等上云必备产品,低至1.8折起;云产品助力企业和开发者轻松上云! 下面给大家分享腾讯云双11活动入口及活…

Android Jetpack重要吧?需要学习有这么多

Jetpack简单理解 2018年谷歌I/O 发布了一系列辅助Android开发者的实用工具,合称Jetpack,以帮助开发者构建出色的 Android 应用。 官方JetPack介绍 大体上,JetPack是Google推出的一些库的集合。是Android基础支持库SDK以外的部分。包含了组…

问题:Uncaught Error: “xxx“ is read-only

文章目录 问题分析 问题 控制台报错如下 分析 在这里使用了 const 定义常量 const声明一个只读的常量。一旦声明,常量的值就不能改变。 let是块级作用域,函数内部使用let定义后,对函数外部无影响。

【人工智能专栏】(2)知识表示方法 I

目录 1. 知识与知识表示1.1 什么是知识?1.2 什么是数据-信息-知识?1.3 人工智能系统所关心的知识1.4 什么是知识表示?1.5 知识表示要注意的问题1.6 AI对知识表示方法的要求 2. 状态空间法2.1 什么是状态空间法?2.2 状态空间法三要…