首页 > 其他分享 >leaflet 点击图标显示echarts图表弹框

leaflet 点击图标显示echarts图表弹框

时间:2022-11-18 18:26:08浏览次数:49  
标签:map title 弹框 leaflet marker var data echarts

leaflet散点图片根据官方文档我们应该都可以加载出来,点击如果想弹出简单的文本内容,title属性加载一个自定义html就可以了,但有时项目需求需要配合别的图表组件使用,简单记录下开发demo过程,下面是和Echarts折线图效果图。

 创建地图容器和要显示的弹框容器

  map为地图容器id,t1为弹框容器id

<div id="map"></div>
	<div id="t1">
		<p id="KK">测试</p>
		<div id="tt">
			
		</div>
	</div>

 创建地图和echart图表

 const map = L.map("map", {
        center: [32.050678, 118.792199], // 地图中心
        zoom: 5.6, //缩放比列
        zoomControl: true, //禁用 + - 按钮
        doubleClickZoom: true, // 禁用双击放大
        attributionControl: true // 移除右下角leaflet标识
    });
    let name = L.tileLayer(
        "http://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=7",
    ).addTo(map);

  

var chartDom = document.getElementById('tt');
	var myChart = echarts.init(chartDom);
	var option;
	
	option = {
	  xAxis: {
	    type: 'category',
	    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
	  },
	  yAxis: {
	    type: 'value'
	  },
	  series: [
	    {
	      data: [150, 230, 224, 218, 135, 147, 260],
	      type: 'line'
	    }
	  ]
	};
	
	option && myChart.setOption(option);

  加载散点层,点击图标绑定弹框组,核心代码如下:

 var tt = document.getElementById("t1");
    var myGroupIcon = [];
    for (let i = 0; i < data.length; i++) {
        var a = data[i];
        var title = a.title;
        let myIcon1 = createIcon(a.type, a.value)
        var marker = L.marker(L.latLng(a.lat, a.lng), {
             title1: title,
             icon: myIcon1,
        });
		
         marker.bindPopup(tt);
			 marker.on(`click`, (item) => {
				 $("#KK").text(item.target.options.title1);
			         });
           myGroupIcon.push(marker)
      
    }

 tips:弹框组初始化是渲染在页面上显示的,可以设置overflow: hidden,如果加载前设置样式让弹框组隐藏,Echarts图表初始化隐藏再渲染尺寸会有问题(网上也有解决方法)。

 

标签:map,title,弹框,leaflet,marker,var,data,echarts
From: https://www.cnblogs.com/hardmeng/p/16904009.html

相关文章

  • echarts tooltip 中添加点击事件(vue项目)
    最近碰见一个需求,就是Echarts地图提示框中有网址,点击网址的时候跳转到指定的网页,  这个需求挺有意思,刚开始写的时候感觉应该就是普通的逻辑,没啥特别注意的,后来在写......
  • echarts 图表设置默认选中
    一、数据图形import*asechartsfrom'echarts'constmyChart=echarts.init(document.querySelector('pie'))官方文档events官方文档action设置高亮myChart.d......
  • Echarts横向柱状图,带标题
    效果图:   首先安装echarts,看官网安装文档即可然后要用的文件引入一下import*asechartsfrom'echarts';我用的vue3,setup放标签里的     代码如......
  • ant design的关闭ModalForm和Modal弹框,清除数据的方法
    antdesign的关闭ModalForm和Modal弹框,清除数据的方法:1、ModalForm弹框modalProps中加destroyOnClose<ModalForm visible={visible} modalProps={{ destroyOnClose:......
  • 3、关闭Mac的Microsoft AutoUpdate弹框提示
    MacOS安装MicrosoftOfficeforMac之后,每天早晨一打开都会弹出MicrosoftAutoUpdate应用自动更新工具,嗯嗯嗯,有点烦,干掉它~ 方法:设置权限不可访问打开终端cd/Librar......
  • element-ui 对话框dialog里使用echarts,报错'dom没有获取到'?
    给el-dialog添加@open="open()"在刚进入页面的时候对话框是关闭的,echarts不进行获取dom,当点击对话框出来的时候,有个opened事件,在这个事件里边进行echarts的初始化,执行数......
  • echarts饼图
    一、需求(图中的点去掉了)  外层的壳createEchart1(){letchartDom=document.getElementById('echart1');myChart1=echarts.init(chartDom);......
  • leaflet 加载高德地图自定义样式
    最近项目需求,需要使用leaflet封装成一个vue组件,涉及功能主要有高德自定义样式地图封装为leaflet底图图层、自定义坐标系、topjson省市区街道下钻、线面区域热力层、飞线、......
  • vue+echarts绘制地图
    代码实现importchinaJsonfrom'echarts/map/json/china.json'exportdefault{mounted(){letmyChart=this.$echarts.init(document.getElementById("......
  • React+echarts (echarts-for-react) 画中国地图及省份切换
    有足够的地图数据,可以点击到街道,示例我只出到市级以umi为框架,版本是:"react":"^18.2.0","umi":"^4.0.29","echarts":"^5.4.0","echarts-for-rea......