腾讯地图撒点并默认显示点位信息

在这里插入图片描述

实现步骤如下:

1、注册腾讯位置服务账号并获取 Key

2、需要创建一个地图容器,并使用腾讯地图的 API 初始化地图。通常涉及到设置地图的中心点、缩放级别和地图样式。

map = new TMap.Map(document.getElementById(‘container’), {
center: center,
zoom: 15,
});

3、 创建标注点图层信息,地图对象,样式,点位数组等

var marker = new TMap.MultiMarker({
map: map,
//styles可定义多个样式,根据点位显示不同样式
styles: {},
geometries: []

4、事件监听根据需要添加对应的事件监听

marker.on(“mouseover”, function (evt) { }

点击事件(click):当用户点击标注点时触发。
鼠标悬停事件(mouseover):当鼠标悬停在标注点上时触发。
鼠标移出事件(mouseout):当鼠标从标注点上移出时触发。
拖动开始事件(dragstart):当开始拖动标注点时触发。
拖动进行事件(dragging):当拖动标注点时持续触发。
拖动结束事件(dragend):当拖动标注点结束时触发。
右键点击事件(rightclick):当用户在标注点上右键点击时触发

5、封装标注点的数据数组,首先了解geometries的数组中的对象属性都有哪些?

   id:点图形数据的标志信息,不可重复。如果id重复,后面的id会被重新分配一个新id,如果没有id会随机生成一个。
styleId:对应于 MultiMarkerStyleHash 中的样式id。
position:标注点的位置,类型为 LatLng。如:new TMap.LatLng(parseFloat(position.lat), parseFloat(position.lng))
rank:标注点的图层内绘制顺序。
properties:标注点的属性数据,类型为 Object,可根据自己需求定义属性

6、撒点

代码如下

 <div id="container"  style="width: 100%;height: 600px;"></div>
<script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&libraries=service&key=XXXXXXXXX"></script>
  //初始化地图组件var map, infoWindow,markers = [];// 设定中心点坐标var center = new TMap.LatLng(parseFloat([[${center.lat}]]), parseFloat([[${center.lng}]]));map = new TMap.Map(document.getElementById('container'), {center: center,zoom: 15,});// 地图全局事件//     map.on("click", function(evt) {//         // 这里是通过获取地图点击的位置,将该位置移动至中心点//         map.setCenter(new TMap.LatLng(evt.latLng.getLat().toFixed(6), evt.latLng.getLng().toFixed(6)))//     })// //移除控件缩放// map.removeControl(TMap.constants.DEFAULT_CONTROL_ID.ZOOM);// // 移除比例尺控件// map.removeControl(TMap.constants.DEFAULT_CONTROL_ID.SCALE);// // 移除旋转控件// map.removeControl(TMap.constants.DEFAULT_CONTROL_ID.ROTATION);//撒点函数function dropMarker(position) {console.log(position)var marker = new TMap.MultiMarker({map: map,//样式定义styles: {//创建一个styleId为"myStyle1"的样式myStyle1: new TMap.MarkerStyle({"width": 50,"height": 50,"src": '/screen/images/aa-icon.png',"anchor": { x: 25, y: 25 }}),myStyle2: new TMap.MarkerStyle({"width": 50,"height": 50,"src": '/screen/images/dd-icon.png',"anchor": { x: 25, y: 25 }})},//多个标注点的数据数组geometries: position});//给每个点位创建信息框并默认打开var infoWindows = [];for (var i = 0; i < marker.getGeometries().length; i++) {var infoWindow1 = new TMap.InfoWindow({map: map,position: marker.getGeometries()[i].position,content: '<p style="font-weight: bold;font-size: 13px;color: #000; white-space: nowrap;">'+marker.getGeometries()[i].properties.title+' ****:'+marker.getGeometries()[i].properties.num+'</p>', // 设置信息窗口内容autoClose: true});infoWindows.push(infoWindow1);infoWindow1.open(); // 打开信息窗口}markers.push(marker);//事件监听// marker.on("mouseover", function (evt) {//     console.log(evt.latLng)// });}//撒点参数封装function addMarkers(positions) {var arrPOstions=[];var i=0;positions.forEach(function(position) {i++;arrPOstions.push({id: position.dbId,styleId: 'myStyle1',  //这个用来区分显示不同的图标position: new TMap.LatLng(parseFloat(position.lat), parseFloat(position.lng)),properties: {  //附带信息title: position.title,address: position.address,num:position.num}})});dropMarker(arrPOstions);}
addMarkers(['自己的点位集合']);

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

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

相关文章

JavaScript 中 this 的使用方法详解

一、全局环境中的 this 在全局环境中&#xff0c;this 指向全局对象。在浏览器中&#xff0c;全局对象是 window&#xff1b;在 Node.js 中&#xff0c;全局对象是 global。 console.log(this); // 浏览器中输出&#xff1a;window在严格模式下&#xff0c;this 的值为 undef…

C++中的enum(枚举)是什么,以及与C中enum的不同之处

最近在看《A Tour of C 3rd》的时候发现 C 和 C 的 enum虽然使用起来比较相似&#xff0c;但是目的却略有不同。关于枚举的概念还请见之前写过一篇关于 C 的那篇博客《C语言中enum&#xff08;枚举&#xff09;详解》&#xff0c;这里不再赘述。本文侧重 C 与 C 不同的地方。 …

Vue56-组件的自定义事件

一、什么是自定义事件 二、子组件—【传值】—>父组件 2-1、prop属性 2-2、自定义事件 v-on在谁身上&#xff0c;就给谁绑定事件&#xff01; 给谁绑定的事件&#xff0c;想触发就找谁&#xff01; 2-3、prop属性VS自定义属性 2-4、简写形式 2-5、ref属性实现 加了ref属性…

软件监控发展简史

软件监控简史&#xff0c;从 00 年代开始。发生了什么变化&#xff1f;为什么事情变得如此神秘&#xff1f; 终端设备上日益重要的用户体验通过边缘计算和分布式计算不断得到改善。然而&#xff0c;服务质量的测量仍然使用基于服务器的原语进行。 我们的 2000 年软件监控是这样…

wvp-GB28181-pro 源码分析-服务启动流程及IPC注册(一)

文章目录 启动顺序1、VManageBootstrap文件中的main2、优先加载的bean3、gb28181/SipLayer.java4、media/MediaServerConfig.java5、conf/SipPlatformRunner.java6、gb28181/task/SipRunner.java2024年6月20日下载的wvp-GB28181-pro,版本号为2.7.2,使用ZLMediakit主干版本。 …

程序员兼职接单有哪些渠道?一篇文章带你了解!

2024年&#xff0c;程序员兼职接单别只盯着朋友圈啦&#xff01;这些兼职接单渠道你一个都不容错过&#xff01;想要通过兼职接单获取收入的程序员&#xff0c;一定不能错过这篇文章&#xff01; 程序员兼职接单的渠道可以简单的分类为兼职平台和程序员论坛和自身人脉拓展三个…

【SD3辅助工具推荐】InstantX发布了三种SD3专属的ControlNet模式——Pose、Canny和Tile

InstantX 是一家专注于人工智能内容生成的独立研究机构。此前&#xff0c;曾开源著名的InstantID和论文《InstantID : Zero-shot Identity-Preserving Generation in Seconds》。随着本月12号&#xff0c;Stability AI正式开源了其产品 Stable Diffusion 3&#xff0c;这家机构…

吃透Flink State面试题和参考答案

目录 什么是 Flink 中的状态(State)? Flink 支持哪两种状态类型? 解释一下什么是 Keyed State 和 Operator State。 Flink 中的状态是如何存储的? 什么是 Flink 的状态后端(State Backend)? 比较 MemoryStateBackend、FsStateBackend 和 RocksDBStateBackend 的区…

js笔试题目2024

字符串按字符出现频次排序 "Aacbbcc" 输出 "cccbbAa" const s "Aacbbcc"function setString(string) {const map new Map();let res for(let char of string){const val map.get(char)map.set(char, val?val 1:1)}const arr Array.from(m…

(1)ubuntu g++使用

文章目录 g流程常用示例 g流程 预处理->编译->汇编->链接预处理: 展开头文件&#xff0c;宏替换&#xff0c;去除注释&#xff0c;条件编译 g -E test.cpp -o test.i -E 只进行预编译&#xff0c; 生成真正的源代码.i文件编译&#xff1a;检查语法&#xff0c;生成汇…

高效设计必选!5款好用的UI动效工具

UI 动态设计是应用程序设计的重要组成部分。随着技术的积累&#xff0c;UI设计中的动态效果遍地开花&#xff0c;UI动态效果可以使我们的页面更时尚、更有趣、更人性化。5G网络的快速发展也使美丽的动态效果几乎无缝地嵌入到UI界面中。今天&#xff0c;毫不夸张地说&#xff0c…

极氪与 TDengine 合作建设新一代车联网云端基础平台

在车联网场景中&#xff0c;智能车辆通过各种传感器按时采集车辆状态信息&#xff0c;包括但不限于行驶速度、发动机转速、轮胎压力、里程等。此外&#xff0c;某些事件触发后会生成车辆事件数据&#xff0c;例如门锁状态变化、碰撞、异常移动等。每次数据上报都包含时间戳&…

Visual Studio2022+cuda环境配置及代码调试

环境配置 下载并安装CUDA Toolkit 打开Visual Studio&#xff0c;新建项目。如下图所示&#xff0c;已经包含CUDA编程选项 代码调试 1、打开cu文件的属性页&#xff0c;按下图所示&#xff0c;将Host中的Generate Host Debug Information设置为“是" 2、不可勾选Nsight…

揭秘网络安全攻防战

网络安全攻防战综述 网络安全攻防战概念 网络安全攻防战是指在网络空间中&#xff0c;攻击者和防御者之间的持续斗争。攻击者&#xff08;黑客&#xff09;利用各种手段企图突破防御&#xff0c;窃取信息、破坏系统&#xff0c;而防御者则采取各种措施保护网络安全&#xff0…

ARM功耗管理框架之LPI

安全之安全(security)博客目录导读 思考&#xff1a;功耗管理框架&#xff1f;SCP&#xff1f;PPU&#xff1f;LPI&#xff1f;之间的关系&#xff1f;如何配合&#xff1f; 目录 一、功耗管理框架中的LPI 二、LPI分类 三、Q-Channel和P-Channel对比 四、Q-Channel和P-Ch…

网络故障排查-TCP标志位

目录 1. SYN&#xff08;Synchronize&#xff09; 2. SYN-ACK&#xff08;Synchronize-Acknowledge&#xff09; 3. FIN&#xff08;Finish&#xff09; 4. RST&#xff08;Reset&#xff09; 故障排除步骤 网络流量分析仪中的TCP标志位&#xff08;SYN、SYN-ACK、FIN、RS…

第28讲:Ceph集群使用RBD块存储与K8S Volumes集成

文章目录 1.Ceph集群使用RBD块存储与K8S集成简介2.Ceph集群RBD块存储与K8S Volume集成2.1.在Ceph集群中创建K8S集群使用的块存储2.2.创建用于K8S访问Ceph RBD块设备的认证用户2.3.将认证用户的Key存储在K8S Secret资源中2.4.在K8S集群的所有节点中安装Ceph命令2.5.创建Pod资源使…

【uni-app学习手札】

uni-app&#xff08;vue3&#xff09;编写微信小程序 编写uni-app不必拘泥于HBuilder-X编辑器&#xff0c;可用vscode进行编写&#xff0c;在《微信开发者工具》中进行热加载预览&#xff0c; 主要记录使用uni-app过程中自我备忘一些api跟语法&#xff0c;方便以后编写查找使用…

【React 】折叠面板,点击展开时再请求数据

需求背景&#xff1a;使用折叠面板的形式展示数据&#xff0c;面板内部数据需要在打开时请求接口获取。 遇到问题&#xff1a;最开始使用Antd 的折叠面板组件&#xff0c;它对于数据直接渲染是没问题的&#xff0c;但是不好满足打开面板时再动态加载数据的需求&#xff0c;于是…

计算机视觉与深度学习实战,Python为工具,基于Simulink进行图像和视频处理

计算机视觉与深度学习是当代人工智能领域的两大热门技术,它们在图像识别、目标检测、视频分析等领域展现出巨大的潜力和应用价值。Python作为一种强大的编程语言,结合深度学习框架和Simulink等工具,为计算机视觉和深度学习的研究与实践提供了丰富的资源和平台。以下将结合Py…