当前位置:   article > 正文

echart地图实现自定义贴图标注_echarts的地图贴图

echarts的地图贴图

echart地图实现自定义贴图标注

大二有幸参与了公司项目开发, 和小伙伴做一个监控学校疫情的系统,在地图上展示学校打卡点,打卡等信息。功能完成后,上级又给加了一个新需求,要求追踪某个学生去过的地点并用自定义图案标注出来,emmmm在翻了好久的api后总算找到了方法,(本来就是后端人员,但是没办法都得自己干,第一次接触这种,官方api我一开始看蒙了hh。)这里码一下,

贴下核心代码:

series: [
									{
										 type: 'custom',//配置显示方式为用户自定义
										 name: '疫情扫码打卡点',
					                    coordinateSystem: 'bmap',//使用百度地图作为地图
					                    itemStyle: {
					                        normal: {
					                            color: '#46bee9'
					                        }
					                    },
										symbolSize:	30 ,
										renderItem: function (params, api) {//具体实现自定义图标的方法
											
											let numbers = myData[params.dataIndex].value[2];
											let imgPath ="";
											let textStr;
											if(trance){
												textStr = "                                  "+myData[params.dataIndex].name;
											}else textStr = "                                  "+myData[params.dataIndex].name+" : "+myData[params.dataIndex].value[2]+" 人";
//											/if(myData[params.dataIndex].value[2] == -1){
//												textStr = "                                  "+myData[params.dataIndex].name;
//											}else textStr = "                                  "+myData[params.dataIndex].name+" : "+myData[params.dataIndex].value[2]+" 人";
											if(numbers >0 ){
												imgPath ="img/location-user.png";
												return {
						                            type: 'image' ,
						                            style: {
						                            	textFill:'#df8321',
						                            	image: imgPath,
						                            	x:api.coord([myData[params.dataIndex].value[0],myData[params.dataIndex].value[1]])[0],//必须要转换坐标,否则会相对于整个画布定位
						                                y:api.coord([myData[params.dataIndex].value[0],myData[params.dataIndex].value[1]])[1],
						                                width:30,
														height:30,
														name:myData[params.dataIndex].name,
														text:textStr	//图标边上的提示文字
						                            }
					                        	}
											}else return null;
											
					                    },
					                    markPoint: {
					                    	label:{ //标签样式设置
					                               normal:{
					                                   show:true,
					                                   formatter:function(params){ //标签内容
					                                	   cosole.log("ASDDDD");
					                                       return  '疫情健康打卡点:<br/>'+params.data.name+'<br/> 扫码人数 :'+params.data.value[2]+'(人)';
					                                   }
					                               }
					                        }
					                    }
					                    ,
					                    data:myData
									}
									
								]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56

在这里插入图片描述如上实现了贴图,当然还支持其他方式,具体官方api都写的很清楚了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/198002
推荐阅读
相关标签
  

闽ICP备14008679号