山海鲸可视化自学2

如何使用iframe导入地图组件,并且与山海鲸内元素进行交互

以天地图为例

下面是个index.html文件,一定是index.html

在这里插入代码片
<!DOCTYPE html>
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>天地图-地图API-范例-地图加载单图层</title><scripttype="text/javascript"src="http://api.tianditu.gov.cn/api?v=4.0&tk=天地图的key"></script><scripttype="text/javascript"src="http://lbs.tianditu.gov.cn/api/js4.0/opensource/openlibrary/ImageOverlay.js"></script><style>body,html {width: 100%;height: 100%;margin: 0;font-family: "Microsoft YaHei";}#mapDiv {width: 100%;height: 100%;}//  样式区域  其他样式function onLoad() {var imageURL ="http://t0.tianditu.gov.cn/img_w/wmts?" +"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +"&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=c7b7b2cf071dfba1e0f52f4116065c83";//创建自定义图层对象lay = new T.TileLayer(imageURL, {minZoom: 11,maxZoom: 18,});var config = {layers: [lay],};//初始化地图对象map = new T.Map("mapDiv", config);//设置显示地图的中心点和级别map.centerAndZoom(new T.LngLat(经度, 维度), 14);//  .........其他配置var labelwd = new T.Label({text: "地图文本标注",position: new T.LngLat(102.82947, 24.95206),offset: new T.Point(-60, -30),});labelwd.setFontSize(10); // 字体大小labelwd.setFontColor("#37ff00");// 字体颜色labelwd.setBackgroundColor("#282923"); // 文本框背景颜色labelwd.setBorderLine(0); //边框labelwd.setOpacity(0.5);// 透明度labelwd.addEventListener("click", hsClick);  //  监听点击事件function hsClick() {msg = "hs";window.parent.postMessage(msg, "*"); // 给iframe父元素传递事件消息  内容为  hs}// 向地图上添加标注map.addOverLay(labelwd);}</style><script>var map;var zoom = 13;var lay;var msg;</script></head><body onLoad="onLoad()"><div id="mapDiv"></div></body>
</html>

然后我们倒入到山海鲸

打开山海鲸,ctrl+F搜索iframe

右边看到数据源选择 选择本地的这个index.html文件

如果你发现选择文件那里,看不到index.html文件,那么你把index.html文件放入一个空文件夹
然后,数据源选择这个文件夹打开上传就行,看不到没有关系,然后重新加载刷新这个iframe组件就行了

然后地图出现后,还得绑定一个js文件

点击这个iframe元素,右边选择代码,然后上传一个脚本,js文件

文件内容是:

class map{onMessageRecieved(data,origin,source){if (data && data === "hs") {console.log(data);this.element.emit("hsClick");}
}
export default map

这是山海鲸地图自己的方法配置

然后我们点击iframe,右边选择交互,这时候添加交互

名称 随意
事件选择 接收到二次开发中的事件
事件名称 hsClick 就是上面js文件emit的出来的名称

其他要操作的东西自己设置

这时候,锁定iframe,你点开山海鲸右下角的控制台 ,然后点击地图上的文本标注,控制台就是会打印 hs 也是上面js文件里面的 console.log(data) 就会触发后续的配置操作

加油继续卷-------------------

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

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

相关文章

【重磅消息】微软开源了自家的Florence-2,处理各种视觉任务的统一模型

在人工通用智能&#xff08;AGI&#xff09;系统的世界里&#xff0c;一个重要的转变正在发生&#xff0c;那就是利用多功能的、预先训练好的表征&#xff0c;在各种应用中表现出与任务无关的适应性。这种转变始于自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;现在…

机械硬盘和固态硬盘的区别及判断硬盘类型的方法

HDD&#xff08;机械硬盘&#xff09;和 SSD&#xff08;固态硬盘&#xff09;的主要区别 存储介质 HDD&#xff1a;使用磁性盘片&#xff08;磁盘&#xff09;和机械读写头SSD&#xff1a;使用闪存芯片 速度 HDD&#xff1a;读写速度较慢&#xff0c;因为需要机械读写头在…

新学期分班群发话术

尊敬的家长们&#xff1a; 我是XX学校X年级的班主任XXX老师。随着新学期的到来&#xff0c;我带着满心的期待和责任&#xff0c;向各位宣布一个重要的信息&#xff1a;本校即将开始新学年的分班工作。 分班的目的&#xff1a; 分班是为了适应不同学生的学习需求&#xff0c;确…

SaaS企业营销:PLG转型下SaaS企业如何成为赢家

在数字化浪潮的推动下&#xff0c;SaaS&#xff08;软件即服务&#xff09;行业正经历着前所未有的变革。特别是随着产品引领增长&#xff08;PLG&#xff09;模式的兴起&#xff0c;SaaS企业正面临着前所未有的机遇与挑战。如何在PLG转型中脱颖而出&#xff0c;成为行业赢家&a…

汇川学习笔记7 - 雕刻机项目

1、系统上电轴准备好之后&#xff0c;自动复回原点一次&#xff0c; 2、在雕刻机面板上有三个按钮用来控制画三种图形 3、注意cnc代码放置的文件夹 4、FILE0文件内容 5、FILE1文件内容 6、FILE2文件内容 7、程序代码下载地址 https://download.csdn.net/download/qq_6191667…

下载LLM

0.导入相关依赖 # 升级pip python -m pip install --upgrade pip# 下载速度慢可以考虑一下更换镜像源。 # -i https://pypi.tuna.tsinghua.edu.cn/simplepip install modelscope1.9.5 pip install transformers4.35.2 pip install streamlit1.24.0 pip install sentencepiece0…

无需科学上网:轻松实现国内使用Coze.com平台自己创建的Bot(如何实现国内免费使用GPT-4o/Gemini等最新大模型)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 如何在国内使用 Coze.com 创建的 Bot 📒📝 创建Bot📝 实现国内使用📝 测试⚓️ 相关链接 ⚓️📖 介绍 📖 Coze.com 是一个强大的平台,允许用户创建各种类型的 Bot。然而,许多国内用户可能会遇到访问问题,导致无法…

Centos7.9安装openldap

文章目录 一、背景二、正文2.1 openldap服务端必要软件安装2.1.1使用yum命令安装2.1.2安装libdb相关依赖2.1.3复制一个默认配置到指定目录下&#xff0c;并授权&#xff0c;这一步一定要做&#xff0c;然后再启动服务&#xff0c;不然生成密码时会报错2.1.4授权给ldap用户&…

windows系统共享文件时,有权限文件访问被拒绝

我们在使用windows操作系统的时候&#xff0c;需要复制或者更改网络中的共享文件。但是有时候会出现图下的情况&#xff1a;文件访问被拒绝 查看共享文件的安全属性&#xff0c;发现Everyone的权限是完全控制的 这个时候我们可以看到&#xff0c;这个共享文件图标右上方带了一把…

vue2实现一个简易实用的日历(可特殊标记多个日期)

效果如下&#xff1a; <template><div class"calendar"><div class"header"><button click"previousMonth"><</button><h2>{{ currentYear }}-{{ currentMonth }} </h2><button click"nex…

【SpringCloud】Nacos

Nacos简介 2018年6月&#xff0c;Eureka 2.0宣布闭源&#xff08;但1.X版本仍然活跃&#xff09;&#xff0c;同年7月&#xff0c;阿里Nacos宣布开源&#xff0c;并迅速成为国内开发者关注的焦点。作为Eureka的替代品&#xff0c;Nacos目前已经成为国内开发者的首选。 Nacos&…

通过物联网管理多台MQTT设备-基于全志T527开发板

一、系统概述 基于米尔-全志 T527设计一个简易的物联网网关&#xff0c;该网关能够管理多台MQTT设备&#xff0c;通过MQTT协议对设备进行读写操作&#xff0c;同时提供HTTP接口&#xff0c;允许用户通过HTTP协议与网关进行交互&#xff0c;并对设备进行读写操作。 二、系统架…

开源项目壮大和创新

开源项目壮大和创新 当谈论开源项目时&#xff0c;我们进入了一个充满活力和创新的领域&#xff0c;这里聚集了全球的开发者、科技爱好者和社区贡献者。开源项目不仅是技术发展的重要推动力&#xff0c;也是知识分享和合作精神的象征。在这篇文章中&#xff0c;我们将探讨一些…

error: ‘CV_YUV2BGR_UYVY‘ was not declared in this scope

遇到这个问题时&#xff0c;按照如下修改可解决问题。 //cv::cvtColor(yuvImg, rgbImg, CV_YUV2BGR_UYVY);cv::cvtColor(yuvImg, rgbImg, cv::COLOR_YUV2RGB_UYVY);

浅析Vite本地构建原理

前言 随着Vue3的逐渐普及以及Vite的逐渐成熟&#xff0c;我们有必要来了解一下关于vite的本地构建原理。 对于webpack打包的核心流程是通过分析JS文件中引用关系&#xff0c;通过递归得到整个项目的依赖关系&#xff0c;并且对于非JS类型的资源&#xff0c;通过调用对应的loade…

《人人都是产品经理》笔记2:一个需求的奋斗史

一个需求的奋斗史 用户&#xff01;用户&#xff01;为什么会有需求&#xff1f;用户比客户更大以用户为中心的思想&#xff0c;以老板为中心的行动 用户研究方法 需求采集用户需求并不是产品需求&#xff0c;满足需求的三种方式把用户需求转化成产品需求 需求打包 BRD 产品会议…

JavaScript 语法

JavaScript 语法 JavaScript 是一种轻量级的编程语言,广泛用于网页开发中,以实现客户端的脚本处理。它是一种解释型语言,意味着代码的执行不需要预编译。JavaScript 的语法受到多种编程语言的影响,包括Java、C和Python等。本文将详细介绍JavaScript的基本语法结构,包括变…

Docker 搭建 MinIO 对象存储

Docker 搭建 MinIO 对象存储 一、MinIO MinIO 是一个高性能的对象存储服务器&#xff0c;用于构建云存储解决方案。MinIO 允许你存储非结构化数据&#xff08;如图片、视频、日志文件等&#xff09;以对象的形式。MinIO 提供简单的部署选项和易于使用的界面&#xff0c;允许你…

【免费API推荐】:汇总多种免费API接口(12)

欢迎来到幂简集成汇总的多种免费API接口世界&#xff01;我们致力于为开发者和创业者提供一个集成了各种免费API接口的平台。在这里&#xff0c;您可以轻松获取多种免费API接口&#xff0c;涵盖了各种领域的需求&#xff0c;包括天气、地图、社交媒体、专利相关信息等等。我们精…

速盾:CDN 转发循环攻击的解析

在网络安全领域中&#xff0c;存在着一种较为特殊且具有危害性的攻击方式——CDN 转发循环攻击。作为一名专业程序员&#xff0c;有必要对其进行深入剖析。 CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;通常被用于加速内容的传播和交付&#…