geoScatter.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <script src="esl.js"></script>
  5. <script src="config.js"></script>
  6. <script src="lib/jquery.min.js"></script>
  7. </head>
  8. <body>
  9. <style>
  10. html, body, #main {
  11. width: 100%;
  12. height: 100%;
  13. margin: 0;
  14. }
  15. </style>
  16. <div id="main"></div>
  17. <script>
  18. require([
  19. 'echarts',
  20. 'echarts/chart/scatter',
  21. 'echarts/component/legend',
  22. 'echarts/component/geo'
  23. ], function (echarts) {
  24. $.get('../map/json/china.json', function (chinaJson) {
  25. if (typeof chinaJson === 'string') {
  26. chinaJson = eval('(' + chinaJson + ')');
  27. }
  28. echarts.registerMap('china', chinaJson);
  29. var placeList = [
  30. {name:'海门', geoCoord:[121.15, 31.89]},
  31. {name:'鄂尔多斯', geoCoord:[109.781327, 39.608266]},
  32. {name:'招远', geoCoord:[120.38, 37.35]},
  33. {name:'舟山', geoCoord:[122.207216, 29.985295]},
  34. {name:'齐齐哈尔', geoCoord:[123.97, 47.33]},
  35. {name:'盐城', geoCoord:[120.13, 33.38]},
  36. {name:'赤峰', geoCoord:[118.87, 42.28]},
  37. {name:'青岛', geoCoord:[120.33, 36.07]},
  38. {name:'乳山', geoCoord:[121.52, 36.89]},
  39. {name:'金昌', geoCoord:[102.188043, 38.520089]},
  40. {name:'泉州', geoCoord:[118.58, 24.93]},
  41. {name:'莱西', geoCoord:[120.53, 36.86]},
  42. {name:'日照', geoCoord:[119.46, 35.42]},
  43. {name:'胶南', geoCoord:[119.97, 35.88]},
  44. {name:'南通', geoCoord:[121.05, 32.08]},
  45. {name:'拉萨', geoCoord:[91.11, 29.97]},
  46. {name:'云浮', geoCoord:[112.02, 22.93]},
  47. {name:'梅州', geoCoord:[116.1, 24.55]},
  48. {name:'文登', geoCoord:[122.05, 37.2]},
  49. {name:'上海', geoCoord:[121.48, 31.22]},
  50. {name:'攀枝花', geoCoord:[101.718637, 26.582347]},
  51. {name:'威海', geoCoord:[122.1, 37.5]},
  52. {name:'承德', geoCoord:[117.93, 40.97]},
  53. {name:'厦门', geoCoord:[118.1, 24.46]},
  54. {name:'汕尾', geoCoord:[115.375279, 22.786211]},
  55. {name:'潮州', geoCoord:[116.63, 23.68]},
  56. {name:'丹东', geoCoord:[124.37, 40.13]},
  57. {name:'太仓', geoCoord:[121.1, 31.45]},
  58. {name:'曲靖', geoCoord:[103.79, 25.51]},
  59. {name:'烟台', geoCoord:[121.39, 37.52]},
  60. {name:'福州', geoCoord:[119.3, 26.08]},
  61. {name:'瓦房店', geoCoord:[121.979603, 39.627114]},
  62. {name:'即墨', geoCoord:[120.45, 36.38]},
  63. {name:'抚顺', geoCoord:[123.97, 41.97]},
  64. {name:'玉溪', geoCoord:[102.52, 24.35]},
  65. {name:'张家口', geoCoord:[114.87, 40.82]},
  66. {name:'阳泉', geoCoord:[113.57, 37.85]},
  67. {name:'莱州', geoCoord:[119.942327, 37.177017]},
  68. {name:'湖州', geoCoord:[120.1, 30.86]},
  69. {name:'汕头', geoCoord:[116.69, 23.39]},
  70. {name:'昆山', geoCoord:[120.95, 31.39]},
  71. {name:'宁波', geoCoord:[121.56, 29.86]},
  72. {name:'湛江', geoCoord:[110.359377, 21.270708]},
  73. {name:'揭阳', geoCoord:[116.35, 23.55]},
  74. {name:'荣成', geoCoord:[122.41, 37.16]},
  75. {name:'连云港', geoCoord:[119.16, 34.59]},
  76. {name:'葫芦岛', geoCoord:[120.836932, 40.711052]},
  77. {name:'常熟', geoCoord:[120.74, 31.64]},
  78. {name:'东莞', geoCoord:[113.75, 23.04]},
  79. {name:'河源', geoCoord:[114.68, 23.73]},
  80. {name:'淮安', geoCoord:[119.15, 33.5]},
  81. {name:'泰州', geoCoord:[119.9, 32.49]},
  82. {name:'南宁', geoCoord:[108.33, 22.84]},
  83. {name:'营口', geoCoord:[122.18, 40.65]},
  84. {name:'惠州', geoCoord:[114.4, 23.09]},
  85. {name:'江阴', geoCoord:[120.26, 31.91]},
  86. {name:'蓬莱', geoCoord:[120.75, 37.8]},
  87. {name:'韶关', geoCoord:[113.62, 24.84]},
  88. {name:'嘉峪关', geoCoord:[98.289152, 39.77313]},
  89. {name:'广州', geoCoord:[113.23, 23.16]},
  90. {name:'延安', geoCoord:[109.47, 36.6]},
  91. {name:'太原', geoCoord:[112.53, 37.87]},
  92. {name:'清远', geoCoord:[113.01, 23.7]},
  93. {name:'中山', geoCoord:[113.38, 22.52]},
  94. {name:'昆明', geoCoord:[102.73, 25.04]},
  95. {name:'寿光', geoCoord:[118.73, 36.86]},
  96. {name:'盘锦', geoCoord:[122.070714, 41.119997]},
  97. {name:'长治', geoCoord:[113.08, 36.18]},
  98. {name:'深圳', geoCoord:[114.07, 22.62]},
  99. {name:'珠海', geoCoord:[113.52, 22.3]},
  100. {name:'宿迁', geoCoord:[118.3, 33.96]},
  101. {name:'咸阳', geoCoord:[108.72, 34.36]},
  102. {name:'铜川', geoCoord:[109.11, 35.09]},
  103. {name:'平度', geoCoord:[119.97, 36.77]},
  104. {name:'佛山', geoCoord:[113.11, 23.05]},
  105. {name:'海口', geoCoord:[110.35, 20.02]},
  106. {name:'江门', geoCoord:[113.06, 22.61]},
  107. {name:'章丘', geoCoord:[117.53, 36.72]},
  108. {name:'肇庆', geoCoord:[112.44, 23.05]},
  109. {name:'大连', geoCoord:[121.62, 38.92]},
  110. {name:'临汾', geoCoord:[111.5, 36.08]},
  111. {name:'吴江', geoCoord:[120.63, 31.16]},
  112. {name:'石嘴山', geoCoord:[106.39, 39.04]},
  113. {name:'沈阳', geoCoord:[123.38, 41.8]},
  114. {name:'苏州', geoCoord:[120.62, 31.32]},
  115. {name:'茂名', geoCoord:[110.88, 21.68]},
  116. {name:'嘉兴', geoCoord:[120.76, 30.77]},
  117. {name:'长春', geoCoord:[125.35, 43.88]},
  118. {name:'胶州', geoCoord:[120.03336, 36.264622]},
  119. {name:'银川', geoCoord:[106.27, 38.47]},
  120. {name:'张家港', geoCoord:[120.555821, 31.875428]},
  121. {name:'三门峡', geoCoord:[111.19, 34.76]},
  122. {name:'锦州', geoCoord:[121.15, 41.13]},
  123. {name:'南昌', geoCoord:[115.89, 28.68]},
  124. {name:'柳州', geoCoord:[109.4, 24.33]},
  125. {name:'三亚', geoCoord:[109.511909, 18.252847]},
  126. {name:'自贡', geoCoord:[104.778442, 29.33903]},
  127. {name:'吉林', geoCoord:[126.57, 43.87]},
  128. {name:'阳江', geoCoord:[111.95, 21.85]},
  129. {name:'泸州', geoCoord:[105.39, 28.91]},
  130. {name:'西宁', geoCoord:[101.74, 36.56]},
  131. {name:'宜宾', geoCoord:[104.56, 29.77]},
  132. {name:'呼和浩特', geoCoord:[111.65, 40.82]},
  133. {name:'成都', geoCoord:[104.06, 30.67]},
  134. {name:'大同', geoCoord:[113.3, 40.12]},
  135. {name:'镇江', geoCoord:[119.44, 32.2]},
  136. {name:'桂林', geoCoord:[110.28, 25.29]},
  137. {name:'张家界', geoCoord:[110.479191, 29.117096]},
  138. {name:'宜兴', geoCoord:[119.82, 31.36]},
  139. {name:'北海', geoCoord:[109.12, 21.49]},
  140. {name:'西安', geoCoord:[108.95, 34.27]},
  141. {name:'金坛', geoCoord:[119.56, 31.74]},
  142. {name:'东营', geoCoord:[118.49, 37.46]},
  143. {name:'牡丹江', geoCoord:[129.58, 44.6]},
  144. {name:'遵义', geoCoord:[106.9, 27.7]},
  145. {name:'绍兴', geoCoord:[120.58, 30.01]},
  146. {name:'扬州', geoCoord:[119.42, 32.39]},
  147. {name:'常州', geoCoord:[119.95, 31.79]},
  148. {name:'潍坊', geoCoord:[119.1, 36.62]},
  149. {name:'重庆', geoCoord:[106.54, 29.59]},
  150. {name:'台州', geoCoord:[121.420757, 28.656386]},
  151. {name:'南京', geoCoord:[118.78, 32.04]},
  152. {name:'滨州', geoCoord:[118.03, 37.36]},
  153. {name:'贵阳', geoCoord:[106.71, 26.57]},
  154. {name:'无锡', geoCoord:[120.29, 31.59]},
  155. {name:'本溪', geoCoord:[123.73, 41.3]},
  156. {name:'克拉玛依', geoCoord:[84.77, 45.59]},
  157. {name:'渭南', geoCoord:[109.5, 34.52]},
  158. {name:'马鞍山', geoCoord:[118.48, 31.56]},
  159. {name:'宝鸡', geoCoord:[107.15, 34.38]},
  160. {name:'焦作', geoCoord:[113.21, 35.24]},
  161. {name:'句容', geoCoord:[119.16, 31.95]},
  162. {name:'北京', geoCoord:[116.46, 39.92]},
  163. {name:'徐州', geoCoord:[117.2, 34.26]},
  164. {name:'衡水', geoCoord:[115.72, 37.72]},
  165. {name:'包头', geoCoord:[110, 40.58]},
  166. {name:'绵阳', geoCoord:[104.73, 31.48]},
  167. {name:'乌鲁木齐', geoCoord:[87.68, 43.77]},
  168. {name:'枣庄', geoCoord:[117.57, 34.86]},
  169. {name:'杭州', geoCoord:[120.19, 30.26]},
  170. {name:'淄博', geoCoord:[118.05, 36.78]},
  171. {name:'鞍山', geoCoord:[122.85, 41.12]},
  172. {name:'溧阳', geoCoord:[119.48, 31.43]},
  173. {name:'库尔勒', geoCoord:[86.06, 41.68]},
  174. {name:'安阳', geoCoord:[114.35, 36.1]},
  175. {name:'开封', geoCoord:[114.35, 34.79]},
  176. {name:'济南', geoCoord:[117, 36.65]},
  177. {name:'德阳', geoCoord:[104.37, 31.13]},
  178. {name:'温州', geoCoord:[120.65, 28.01]},
  179. {name:'九江', geoCoord:[115.97, 29.71]},
  180. {name:'邯郸', geoCoord:[114.47, 36.6]},
  181. {name:'临安', geoCoord:[119.72, 30.23]},
  182. {name:'兰州', geoCoord:[103.73, 36.03]},
  183. {name:'沧州', geoCoord:[116.83, 38.33]},
  184. {name:'临沂', geoCoord:[118.35, 35.05]},
  185. {name:'南充', geoCoord:[106.110698, 30.837793]},
  186. {name:'天津', geoCoord:[117.2, 39.13]},
  187. {name:'富阳', geoCoord:[119.95, 30.07]},
  188. {name:'泰安', geoCoord:[117.13, 36.18]},
  189. {name:'诸暨', geoCoord:[120.23, 29.71]},
  190. {name:'郑州', geoCoord:[113.65, 34.76]},
  191. {name:'哈尔滨', geoCoord:[126.63, 45.75]},
  192. {name:'聊城', geoCoord:[115.97, 36.45]},
  193. {name:'芜湖', geoCoord:[118.38, 31.33]},
  194. {name:'唐山', geoCoord:[118.02, 39.63]},
  195. {name:'平顶山', geoCoord:[113.29, 33.75]},
  196. {name:'邢台', geoCoord:[114.48, 37.05]},
  197. {name:'德州', geoCoord:[116.29, 37.45]},
  198. {name:'济宁', geoCoord:[116.59, 35.38]},
  199. {name:'荆州', geoCoord:[112.239741, 30.335165]},
  200. {name:'宜昌', geoCoord:[111.3, 30.7]},
  201. {name:'义乌', geoCoord:[120.06, 29.32]},
  202. {name:'丽水', geoCoord:[119.92, 28.45]},
  203. {name:'洛阳', geoCoord:[112.44, 34.7]},
  204. {name:'秦皇岛', geoCoord:[119.57, 39.95]},
  205. {name:'株洲', geoCoord:[113.16, 27.83]},
  206. {name:'石家庄', geoCoord:[114.48, 38.03]},
  207. {name:'莱芜', geoCoord:[117.67, 36.19]},
  208. {name:'常德', geoCoord:[111.69, 29.05]},
  209. {name:'保定', geoCoord:[115.48, 38.85]},
  210. {name:'湘潭', geoCoord:[112.91, 27.87]},
  211. {name:'金华', geoCoord:[119.64, 29.12]},
  212. {name:'岳阳', geoCoord:[113.09, 29.37]},
  213. {name:'长沙', geoCoord:[113, 28.21]},
  214. {name:'衢州', geoCoord:[118.88, 28.97]},
  215. {name:'廊坊', geoCoord:[116.7, 39.53]},
  216. {name:'菏泽', geoCoord:[115.480656, 35.23375]},
  217. {name:'合肥', geoCoord:[117.27, 31.86]},
  218. {name:'武汉', geoCoord:[114.31, 30.52]},
  219. {name:'大庆', geoCoord:[125.03, 46.58]}
  220. ];
  221. var chart = echarts.init(document.getElementById('main'), null, {
  222. renderer: 'canvas'
  223. });
  224. var data = [];
  225. var data2 = [];
  226. var len = 200;
  227. var randomValue = function (geoCoord) {
  228. return [
  229. geoCoord[0] + Math.random() * 1 - 0.5,
  230. geoCoord[1] + Math.random() * 1 - 0.5,
  231. Math.random()
  232. ];
  233. };
  234. while(len--) {
  235. var geoCoord = placeList[len % placeList.length].geoCoord;
  236. data.push({
  237. name: placeList[len % placeList.length].name + len,
  238. value: randomValue(geoCoord)
  239. });
  240. data2.push({
  241. name: placeList[len % placeList.length].name + len,
  242. value: randomValue(geoCoord)
  243. });
  244. }
  245. chart.setOption({
  246. legend: {
  247. data: ['scatter', 'scatter2']
  248. },
  249. geo: [{
  250. map: 'china',
  251. roam: true,
  252. left: 10,
  253. width: 300,
  254. // zoom: 1.5,
  255. scaleLimit: {
  256. min: 1.5,
  257. max: 2
  258. },
  259. regions: [{
  260. name: '新疆',
  261. label: {
  262. normal: {
  263. show: true
  264. }
  265. },
  266. itemStyle: {
  267. normal: {
  268. areaColor: '#aaa'
  269. }
  270. }
  271. }]
  272. }, {
  273. map: 'china',
  274. roam: true,
  275. selectedMode: 'single',
  276. left: null,
  277. right: 10,
  278. width: 300
  279. }],
  280. tooltip: {
  281. trigger: 'axis',
  282. axisPointer: {
  283. type: 'cross'
  284. }
  285. },
  286. series: [{
  287. coordinateSystem: 'geo',
  288. name: 'scatter',
  289. type: 'scatter',
  290. symbolSize: function (val) {
  291. return val[2] * 20;
  292. },
  293. data: data
  294. }, {
  295. coordinateSystem: 'geo',
  296. name: 'scatter2',
  297. type: 'scatter',
  298. symbolSize: function (val) {
  299. return val[2] * 20;
  300. },
  301. data: data2
  302. }]
  303. });
  304. chart.on('click', function (param) {
  305. console.log(param);
  306. });
  307. });
  308. });
  309. </script>
  310. </body>
  311. </html>