echarts的自定义地图

标签引入js文件

1 <script type="text/javascript" src="echarts/require.js"></script>
2 <script type="text/javascript" src="echarts/echarts.js"></script>

html部分:

1 <div id="test">
2     <div id="main" style="height:500px;border:1px solid #e4393c"></div>
3 </div>

js部分:

  1 require.config({
  2     paths : {
  3         echarts : 'echarts/echarts',
  4         'ehcarts/chart/map' : 'chart/map'
  5     }
  6 });//加载echarts.js和map.js
  7 require(
  8     [
  9         'echarts',
 10         'echarts/chart/map'
 11     ],
 12     function(ec){                        
      require('echarts/util/mapData/params').params.ship = { 13 getGeoJson : function(callback){ 14 $.ajax({ 15 url"echarts/echarts/oneFloor.svg",//svg地图 16 dataType : "xml", 17 success : function(xml){ 18   callback(xml); 19 } 20 }); 21 } 22 } 23 var myChart = ec.init(document.getElementById('main')); 24 var option = { 25             title : { 26 text : '测试' 27 }, 28 tooltip : { 29 trigger : 'item', 30 formatter : '{b}' 31 }, 32 series : [ 33 { 34 name: '嘿嘿', 35 type: 'map', 36 mapType: 'ship', 37 roam:true, 38 itemStyle:{ 39 normal:{label:{show:true}}, 40 emphasis:{label:{show:true}} 41 }, 42 data: [], 43 geoCoord: { 44 '叮叮': [0, 0], 45 '小兑儿': [100, 45] 46 }, 47 markPoint : { 48 symbol : 'image://img/logo-blue.png', 49 symbolSize : 10, 50 effect : { 51 show : true 52 }, 53 data : [ 54 {name: '叮叮'}, 55 {name: '小兑儿'} 56 ] 57 }, 58 markLine : { 59 smooth:true, 60 effect : { 61 show: true, 62 scaleSize: 1, 63 period: 20, 64 color: '#fff', 65 shadowBlur: 5 66 }, 67 symbol: ['none'], 68 itemStyle : { 69 normal: { 70 borderWidth:1, 71 lineStyle: { 72 type: 'solid' 73 } 74 } 75 }, 76 data : [ 77 [ 78 {name:'erik'}, 79 {name:'胡瑶'} 80 ], 81 [ 82 {name:'祖明'}, 83 {name:'叮叮'} 84 ], 85 [ 86 {name:'祖明'}, 87 {name:'小兑儿'} 88 ] 89 ] 90 } 91 }, 92 { 93 name : '信达泰', 94 type : 'map', 95 mapType : 'ship', 96 roam : true, 97 itemStyle:{ 98 normal:{label:{show:true}}, 99 emphasis:{label:{show:true}} 100 }, 101 data: [], 102 geoCoord: { 103 '孙经理': [100, 245], 104 '小姜同学': [100, 345] 105 }, 106 markPoint : { 107 symbolSize : 10, 108 symbol : 'image://img/icon.png', 109 data : [ 110 {name : '孙经理'}, 111 {name : '小姜同学'}, 112 113 ] 114 } 115 }, 116 { 117 name: '高经', 118 type: 'map', 119 mapType: 'ship', 120 roam:true, 121 symbol: ['none'], 122 itemStyle:{ 123 normal:{label:{show:true}}, 124 emphasis:{label:{show:true}} 125 }, 126 data: [], 127 markLine : { 128 smooth:true, 129 effect : { 130 show: true, 131 scaleSize: 1, 132 period: 20, 133 color: '#fff', 134 shadowBlur: 5 135 }, 136 itemStyle : { 137 normal: { 138 borderWidth:1, 139 lineStyle: { 140 type: 'solid' 141 } 142 } 143 }, 144 data : [ 145 [ 146 {name:'高经'}, 147 {name:'洗手间', geoCoord:[440, 179]} 148 ], 149 [ 150 {name:'高经'}, 151 {name:'洗手间', geoCoord:[637, 53]} 152 ], 153 [ 154 {name:'高经'}, 155 {name:'洗手间', geoCoord:[637, 179]} 156 ], 157 [ 158 {name:'高经'}, 159 {name:'洗手间', geoCoord:[307, 179]} 160 ] 161 ] 162 } 163 } 164 ] 165 }; 166 myChart.setOption(option); 167 } 168 )

 

完整部分:

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4     <title></title>
  5     <script type="text/javascript" src="echarts/jquery.min.js"></script>
  6     <script type="text/javascript" src="echarts/require.js"></script>
  7     <script type="text/javascript" src="echarts/echarts.js"></script>
  8     <style type="text/css">
  9         #test{
 10             /*background:url("img/login.jpg");*/
 11         }
 12     </style>
 13 </head>
 14 <body>
 15     <div id="test">
 16         <div id="main" style="height:500px;border:1px solid #e4393c"></div>
 17         
 18     </div>
 19     <script type="text/javascript">
 20         require.config({
 21             paths : {
 22                 echarts : 'echarts/echarts',
 23                 'ehcarts/chart/map' : 'chart/map'
 24             }
 25         });
 26         require(
 27             [
 28                 'echarts',
 29                 'echarts/chart/map'
 30             ],
 31             function(ec){
 32                 require('echarts/util/mapData/params').params.ship  = {
 33                     getGeoJson : function(callback){
 34                         $.ajax({
 35                                 url : "echarts/echarts/bg-test.svg",
 36                                 dataType : "xml",
 37                                 success : function(xml){
 38                                     callback(xml);
 39                                 }
 40                             });
 41                     }
 42                 }
 43                 var myChart = ec.init(document.getElementById('main'));
 44                 var option = {
 45                     title : {
 46                         text : '测试'
 47                     },
 48                     tooltip : {
 49                         trigger : 'item',
 50                         formatter : '{b}'
 51                     },
 52                     series : [
 53                         {
 54                             name: '嘿嘿',
 55                             type: 'map',
 56                             mapType: 'ship',
 57                             roam:true,
 58                             itemStyle:{
 59                                 normal:{label:{show:true}},
 60                                 emphasis:{label:{show:true}}
 61                             },
 62                             data: [],
 63                             geoCoord: {
 64                                 '叮叮': [0, 0],
 65                                 '小兑儿': [100, 45],
 66                                 '胡瑶': [195, 29],
 67                                 '祖明': [195, 44],
 68                                 '林峰': [195, 60],
 69                                 '安晨': [210, 44],
 70                                 '功': [210, 60],
 71                                 '立新': [144, 59],
 72                                 '诗才': [195, 71],
 73                                 '黄競': [210, 59],
 74                                 '浪宇': [150, 55],
 75                                 '晓青': [210, 71],
 76                                 '毅楠': [222, 59],
 77                                 '朝霞': [222, 71],
 78                                 '武琦': [231, 71],
 79                                 '严萍': [231, 46],
 80                                 '绍波': [231, 59],
 81                                 '开放': [488, 43],
 82                                 '兵兵': [488, 60],
 83                                 '孟珂': [522, 43],
 84                                 '辉耀': [522, 60],
 85                                 '佳璐': [488, 23],
 86                                 '新乐': [522, 23],
 87                                 '大佛': [165, 29],
 88                                 '周玉': [165, 44],
 89                                 '令君': [165, 60],
 90                                 '佳璐': [165, 71],
 91                                 'erik': [222, 44],
 92                                 '爽哥': [240, 60],
 93                                 '雷哥': [240, 44],
 94                                 '坤哥': [176, 59],
 95                                 '刚哥': [176, 71],
 96                                 '高经': [545, 54],
 97                                 '邱华': [468, 23],
 98                                 '饥渴难耐的辉辉': [473, 40],
 99                                 '大发': [500, 40],
100                                 '淼童': [473, 60],
101                                 '亚江': [500, 60],
102                                 '莉姐': [530, 70],
103                                 '红启': [570, 54],
104                                 '五福降中天': [373, 173],
105                                 'csfe': [500, 54],
106                                 '得胜令': [253, 179],
107                                 '西湖春': [496, 179],
108                                 '望江南': [72, 203],
109                                 '庆千秋': [86, 203],
110                                 '过江龙': [289, 32],
111                                 '天下乐': [289, 50],
112                                 '万年欢': [687, 24],
113                                 '浣溪沙': [637, 203],
114                                 '清平乐': [649, 203],
115                                 '四和春': [663, 203],
116                                 '杏花天': [676, 203]
117                             },
118                             markPoint : {
119                                 symbol : 'image://img/logo-blue.png',
120                                 symbolSize : 10,
121                                 effect : {
122                                     show : true
123                                 },
124                                 data : [
125                                     {name: '叮叮'},
126                                     {name: '小兑儿'},
127                                     {name: '胡瑶'},
128                                     {name: '高经'},
129                                     {name: 'erik'},
130                                     {name: '祖明'},
131                                     {name: '林峰'},
132                                     {name: '坤哥'},
133                                     {name: '刚哥'},
134                                     {name: '爽哥'},
135                                     {name: '雷哥'},
136                                     {name: '邱华'},
137                                     {name: '淼童'},
138                                     {name: '亚江'},
139                                     {name: '莉姐'},
140                                     {name: '大发'},
141                                     {name: '饥渴难耐的辉辉'},
142                                     {name: '红启'},
143                                     {name: '安晨'},
144                                     {name: '功'},
145                                     {name: '立新'},
146                                     {name: '诗才'},
147                                     {name: '黄競'},
148                                     {name: '晓青'},
149                                     {name: '毅楠'},
150                                     {name: '浪宇'},
151                                     {name: '朝霞'},
152                                     {name: '严萍'},
153                                     {name: '武琦'},
154                                     {name: '绍波'},
155                                     {name: '开放'},
156                                     {name: '兵兵'},
157                                     {name: '孟珂'},
158                                     {name: '辉耀'},
159                                     {name: '佳璐'},
160                                     {name: '新乐'},
161                                     {name: '周玉'},
162                                     {name: '令君'},
163                                     {name: '佳璐'}
164                                 ]
165                             },
166                             markLine : {
167                                 smooth:true,
168                                 effect : {
169                                     show: true,
170                                     scaleSize: 1,
171                                     period: 20,
172                                     color: '#fff',
173                                     shadowBlur: 5
174                                 },
175                                 symbol: ['none'],
176                                 itemStyle : {
177                                     normal: {
178                                         borderWidth:1,
179                                         lineStyle: {
180                                             type: 'solid'
181                                         }
182                                     }
183                                 },
184                                 data : [
185                                     [
186                                         {name:'erik'}, 
187                                         {name:'胡瑶'}
188                                     ],
189                                     [
190                                         {name:'祖明'}, 
191                                         {name:'叮叮'}
192                                     ],
193                                     [
194                                         {name:'祖明'}, 
195                                         {name:'小兑儿'}
196                                     ]
197                                 ]
198                             }
199                         },
200                         {
201                             name : '信达泰',
202                             type : 'map',
203                             mapType : 'ship',
204                             roam : true,
205                             itemStyle:{
206                                 normal:{label:{show:true}},
207                                 emphasis:{label:{show:true}}
208                             },
209                             data: [],
210                             geoCoord: {
211                                 '孙经理': [100, 245],
212                                 '小姜同学': [100, 345]
213                             },
214                             markPoint : {
215                                 symbolSize : 10,
216                                 symbol : 'image://img/icon.png',
217                                 data : [
218                                     {name : '孙经理'},
219                                     {name : '小姜同学'},
220                                     
221                                 ]
222                             }
223                         },
224                         {
225                             name: '高经',
226                             type: 'map',
227                             mapType: 'ship',
228                             roam:true,
229                             symbol: ['none'],
230                             itemStyle:{
231                                 normal:{label:{show:true}},
232                                 emphasis:{label:{show:true}}
233                             },
234                             data: [],
235                             markLine : {
236                                 smooth:true,
237                                 effect : {
238                                     show: true,
239                                     scaleSize: 1,
240                                     period: 20,
241                                     color: '#fff',
242                                     shadowBlur: 5
243                                 },
244                                 itemStyle : {
245                                     normal: {
246                                         borderWidth:1,
247                                         lineStyle: {
248                                             type: 'solid'
249                                         }
250                                     }
251                                 },
252                                 data : [
253                                     [
254                                         {name:'高经'}, 
255                                         {name:'洗手间', geoCoord:[440, 179]}
256                                     ],
257                                     [
258                                         {name:'高经'}, 
259                                         {name:'洗手间', geoCoord:[637, 53]}
260                                     ],
261                                     [
262                                         {name:'高经'}, 
263                                         {name:'洗手间', geoCoord:[637, 179]}
264                                     ],
265                                     [
266                                         {name:'高经'},
267                                         {name:'洗手间', geoCoord:[307, 179]}
268                                     ]
269                                 ]
270                             }
271                         }
272                     ]
273                 };
274                 myChart.setOption(option);
275             }
276         )
277     </script>
278     <script type="text/javascript">
279         $("#sel select").change(function(){
280             selectChange($(this).val());
281         })
282 
283     </script>
284 </body>
285 </html>

 

效果如下:

 需要注意的点: