// 鏁g偣鍧愭爣 const geoCoord = { // 23鐪佸潗鏍 '鐢樿們': [103.73, 36.03], '闈掓捣': [101.74, 36.56], '鍥涘窛': [104.06, 30.67], '娌冲寳': [114.48, 38.03], '浜戝崡': [102.73, 25.04], '璐靛窞': [106.71, 26.57], '婀栧寳': [114.31, 30.52], '娌冲崡': [113.65, 34.76], '灞变笢': [117, 36.65], '姹熻嫃': [119.78, 32.04], '瀹夊窘': [117.27, 31.86], '娴欐睙': [120.19, 30.26], '姹熻タ': [115.89, 28.68], '绂忓缓': [119.3, 26.08], '骞夸笢': [113.23, 23.16], '婀栧崡': [113, 28.21], '娴峰崡': [110.35, 20.02], '杈藉畞': [123.38, 41.8], '鍚夋灄': [125.35, 43.88], '榛戦緳姹?: [126.63, 45.75], '灞辫タ': [112.53, 37.87], '闄曡タ': [108.95, 34.27], '鍙版咕': [121.30, 25.03], '鍖椾含': [116.46, 39.92], '涓婃捣': [121.48, 31.22], '閲嶅簡': [106.54, 29.59], '澶╂触': [117.2, 39.13], '鍐呰挋鍙?: [111.65, 40.82], '骞胯タ': [108.33, 22.84], '瑗胯棌': [91.11, 29.97], '瀹佸': [106.27, 38.47], '鏂扮枂': [87.68, 43.77], '棣欐腐': [114.17, 22.28], '婢抽棬': [113.54, 22.19], // 涓栫晫鍚勫浗鍧愭爣 '闃垮瘜姹?: [67.709953, 33.93911], '瀹夊摜鎷?: [17.873887, -11.202692], '闃垮皵宸村凹浜?: [20.168331, 41.153332], '闃胯仈閰?: [53.847818, 23.424076], '闃挎牴寤?: [-63.61667199999999, -38.416097], '浜氱編灏间簹': [45.038189, 40.069099], '娉曞睘鍗楀崐鐞冨拰鍗楁瀬棰嗗湴': [69.348557, -49.280366], '婢冲ぇ鍒╀簹': [133.775136, -25.274398], '濂ュ湴鍒?: [14.550072, 47.516231], '闃垮鎷滅枂': [47.576927, 40.143105], '甯冮殕杩?: [29.918886, -3.373056], '姣斿埄鏃?: [4.469936, 50.503887], '璐濆畞': [2.315834, 9.30769], '甯冨熀绾虫硶绱?: [-1.561593, 12.238333], '瀛熷姞鎷夊浗': [90.356331, 23.684994], '淇濆姞鍒╀簹': [25.48583, 42.733883], '宸村搱椹?: [-77.39627999999999, 25.03428], '娉㈡柉灏间簹鍜岄粦濉炲摜缁撮偅': [17.679076, 43.915886], '鐧戒縿缃楁柉': [27.953389, 53.709807], '浼埄鍏?: [-88.49765, 17.189877], '鐧炬厱澶?: [-64.7505, 32.3078], '鐜诲埄缁翠簹': [-63.58865299999999, -16.290154], '宸磋タ': [-51.92528, -14.235004], '鏂囪幈': [114.727669, 4.535277], '涓嶄腹': [90.433601, 27.514162], '鍗氳尐鐡︾撼': [24.684866, -22.328474], '涓潪鍏卞拰鍥?: [20.939444, 6.611110999999999], '鍔犳嬁澶?: [-106.346771, 56.130366], '鐟炲+': [8.227511999999999, 46.818188], '鏅哄埄': [-71.542969, -35.675147], '涓浗': [104.195397, 35.86166], '璞$墮娴峰哺': [-5.547079999999999, 7.539988999999999], '鍠€楹﹂殕': [12.354722, 7.369721999999999], '鍒氭灉姘戜富鍏卞拰鍥?: [21.758664, -4.038333], '鍒氭灉鍏卞拰鍥?: [15.827659, -0.228021], '鍝ヤ鸡姣斾簹': [-74.297333, 4.570868], '鍝ユ柉杈鹃粠鍔?: [-83.753428, 9.748916999999999], '鍙ゅ反': [-77.781167, 21.521757], '鍖楀娴﹁矾鏂?: [33.429859, 35.126413], '濉炴郸璺柉': [33.429859, 35.126413], '鎹峰厠鍏卞拰鍥?: [15.472962, 49.81749199999999], '寰峰浗': [10.451526, 51.165691], '鍚夊竷鎻?: [42.590275, 11.825138], '涓归害': [9.501785, 56.26392], '澶氭槑灏煎姞鍏卞拰鍥?: [-70.162651, 18.735693], '闃垮皵鍙婂埄浜?: [1.659626, 28.033886], '鍘勭摐澶氬皵': [-78.18340599999999, -1.831239], '鍩冨強': [30.802498, 26.820553], '鍘勭珛鐗归噷浜?: [39.782334, 15.179384], '瑗跨彮鐗?: [-3.74922, 40.46366700000001], '鐖辨矙灏间簹': [25.013607, 58.595272], '鍩冨淇勬瘮浜?: [40.489673, 9.145000000000001], '鑺叞': [25.748151, 61.92410999999999], '鏂?: [178.065032, -17.713371], '绂忓厠鍏扮兢宀?: [-59.523613, -51.796253], '娉曞浗': [2.213749, 46.227638], '鍔犺摤': [11.609444, -0.803689], '鑻卞浗': [-3.435973, 55.378051], '鏍奸瞾鍚変簹': [-82.9000751, 32.1656221], '鍔犵撼': [-1.023194, 7.946527], '鍑犲唴浜?: [-9.696645, 9.945587], '鍐堟瘮浜?: [-15.310139, 13.443182], '鍑犲唴浜氭瘮缁?: [-15.180413, 11.803749], '璧ら亾鍑犲唴浜?: [10.267895, 1.650801], '甯岃厞': [21.824312, 39.074208], '鏍奸櫟鍏?: [-42.604303, 71.706936], '鍗卞湴椹媺': [-90.23075899999999, 15.783471], '娉曞睘鍦簹閭?: [-53.125782, 3.933889], '鍦簹閭?: [-58.93018, 4.860416], '娲兘鎷夋柉': [-86.241905, 15.199999], '鍏嬬綏鍦颁簹': [15.2, 45.1], '娴峰湴': [-72.285215, 18.971187], '鍖堢墮鍒?: [19.503304, 47.162494], '鍗板凹': [113.921327, -0.789275], '鐖卞皵鍏?: [-8.24389, 53.41291], '浼婃湕': [53.688046, 32.427908], '浼婃媺鍏?: [43.679291, 33.223191], '鍐板矝': [-19.020835, 64.963051], '浠ヨ壊鍒?: [34.851612, 31.046051], '鎰忓ぇ鍒?: [12.56738, 41.87194], '鐗欎拱鍔?: [-77.297508, 18.109581], '绾︽棪': [36.238414, 30.585164], '鏃ユ湰': [138.252924, 36.204824], '鍝堣惃鍏嬫柉鍧?: [66.923684, 48.019573], '鑲凹浜?: [37.906193, -0.023559], '鍚夊皵鍚夋柉鏂潶': [74.766098, 41.20438], '鏌煍瀵?: [104.990963, 12.565679], '闊╁浗': [127.766922, 35.907757], '绉戠储娌?: [20.902977, 42.6026359], '绉戝▉鐗?: [47.481766, 29.31166], '鑰佹対': [102.495496, 19.85627], '榛庡反瀚?: [35.862285, 33.854721], '鍒╂瘮閲屼簹': [-9.429499000000002, 6.428055], '鍒╂瘮浜?: [17.228331, 26.3351], '鏂噷鍏板崱': [80.77179699999999, 7.873053999999999], '鑾辩储鎵?: [28.233608, -29.609988], '绔嬮櫠瀹?: [23.881275, 55.169438], '鍗㈡.鍫?: [6.129582999999999, 49.815273], '鎷夎劚缁翠簹': [24.603189, 56.879635], '鎽╂礇鍝?: [-7.092619999999999, 31.791702], '鎽╁皵澶氱摝': [28.369885, 47.411631], '椹揪鍔犳柉鍔?: [46.869107, -18.766947], '澧ㄨタ鍝?: [-102.552784, 23.634501], '椹叾椤?: [21.745275, 41.608635], '椹噷': [-3.996166, 17.570692], '缂呯敻': [95.956223, 21.913965], '榛戝北': [19.37439, 42.708678], '钂欏彜': [103.846656, 46.862496], '鑾姣斿厠': [35.529562, -18.665695], '姣涢噷濉斿凹浜?: [-10.940835, 21.00789], '椹媺缁?: [34.301525, -13.254308], '椹潵瑗夸簹': [101.975766, 4.210484], '绾崇背姣斾簹': [18.49041, -22.95764], '鏂板杸閲屽灏间簹': [165.618042, -20.904305], '灏兼棩灏?: [8.081666, 17.607789], '灏兼棩鍒╀簹': [8.675277, 9.081999], '灏煎姞鎷夌摐': [-85.207229, 12.865416], '鑽峰叞': [5.291265999999999, 52.132633], '鎸▉': [8.468945999999999, 60.47202399999999], '灏兼硦灏?: [84.12400799999999, 28.394857], '鏂拌タ鍏?: [174.885971, -40.900557], '闃挎浖': [55.923255, 21.512583], '宸村熀鏂潶': [69.34511599999999, 30.375321], '宸存嬁椹?: [-80.782127, 8.537981], '绉橀瞾': [-75.015152, -9.189967], '鑿插緥瀹?: [121.774017, 12.879721], '宸村竷浜氭柊鍑犲唴浜?: [143.95555, -6.314992999999999], '娉㈠叞': [19.145136, 51.919438], '娉㈠榛庡悇': [-66.590149, 18.220833], '鍖楁湞椴?: [127.510093, 40.339852], '钁¤悇鐗?: [-8.224454, 39.39987199999999], '宸存媺鍦?: [-58.443832, -23.442503], '鍗″灏?: [51.183884, 25.354826], '缃楅┈灏间簹': [24.96676, 45.943161], '淇勭綏鏂?: [105.318756, 61.52401], '鍗㈡椇杈?: [29.873888, -1.940278], '瑗挎拻鍝堟媺': [-12.885834, 24.215527], '娌欑壒闃挎媺浼?: [45.079162, 23.885942], '鑻忎腹': [30.217636, 12.862807], '鍗楄嫃涓?: [31.3069788, 6.876991899999999], '濉炲唴鍔犲皵': [-14.452362, 14.497401], '鎵€缃楅棬缇ゅ矝': [160.156194, -9.64571], '濉炴媺鍒╂槀': [-11.779889, 8.460555], '钀ㄥ皵鐡﹀': [-88.89653, 13.794185], '绱㈤┈閲屽叞': [46.8252838, 9.411743399999999], '绱㈤┈閲?: [46.199616, 5.152149], '濉炲皵缁翠簹鍏卞拰鍥?: [21.005859, 44.016521], '鑻忛噷鍗?: [-56.027783, 3.919305], '鏂礇浼愬厠': [19.699024, 48.669026], '鏂礇鏂囧凹浜?: [14.995463, 46.151241], '鐟炲吀': [18.643501, 60.12816100000001], '鏂▉澹叞': [31.465866, -26.522503], '鍙欏埄浜?: [38.996815, 34.80207499999999], '涔嶅緱': [18.732207, 15.454166], '澶氬摜': [0.824782, 8.619543], '娉板浗': [100.992541, 15.870032], '濉斿悏鍏嬫柉鍧?: [71.276093, 38.861034], '鍦熷簱鏇兼柉鍧?: [59.556278, 38.969719], '涓滃笣姹?: [125.727539, -8.874217], '鐗归噷灏艰揪鍜屽宸村摜': [-61.222503, 10.691803], '绐佸凹鏂?: [9.537499, 33.886917], '鍦熻€冲叾': [35.243322, 38.963745], '鍧︽灏间簹鑱斿悎鍏卞拰鍥?: [34.888822, -6.369028], '涔屽共杈?: [32.290275, 1.373333], '涔屽厠鍏?: [31.16558, 48.379433], '涔屾媺鍦?: [-55.765835, -32.522779], '缇庡浗': [-95.712891, 37.09024], '涔屽吂鍒厠鏂潶': [64.585262, 41.377491], '濮斿唴鐟炴媺': [-66.58973, 6.42375], '瓒婂崡': [108.277199, 14.058324], '鐡﹀姫闃垮浘': [166.959158, -15.376706], '瑗垮哺': [35.3027226, 31.9465703], '涔熼棬': [48.516388, 15.552727], '鍗楅潪': [22.937506, -30.559482], '璧炴瘮浜?: [27.849332, -13.133897], '娲ュ反甯冮煢': [29.154857, -19.015438], '绉戞懇缃?: [43.872219, -11.875001], '鍗板害灏艰タ浜?: [106.515414, -6.103040], '鍗板害': [78.96288, 20.593684], } const style = { area: '#ebebeb', border: 'rgba(255,255,255,0)', line: 'rgba(0,92,157,.5)', dot: 'rgba(0,92,157,.6)', dotBorder: 'rgba(97, 97, 97, 0.3)', } const cs = []; const csNames = []; // map鏁版嵁 const data = $(document.getElementById('map-data').content); // 鍩庡競鏁版嵁 const csData = data.find('.map-tips'); for (const i of csData) { const name = $(i).attr('data-name'); const coord = geoCoord[name]; // if(name === '鍥涘窛') { // cs.push({ // name, // value: coord, // symbolSize: 110 // }) // } else { cs.push({ name, value: coord }); // } csNames.push(name); } const lineCoord = (cs1, cs2) => { return [ { coord: geoCoord[cs1] }, { coord: geoCoord[cs2] } ] } const image = document.querySelector('.map-grain'); const chart = echarts.init(document.getElementById('map')); const options = { geo: { map: 'world', aspectScale: .9, zoom: 1.2, roam: true, selectedMode: false, itemStyle: { areaColor: { image: image, repeat: 'repeat' }, borderColor: style.border, borderWidth: 0 }, emphasis: { disabled: true } }, // 鏁g偣 series: [{ type: 'scatter', data: cs, coordinateSystem: 'geo', symbolSize: 20, // symbolSize: (val, params) => { // const name = params.data.name; // if (name === '鍥涘窛') { // return 30; // } else { // return 20; // } // }, label: { show: false, color: '#fff', fontSize: 14, formatter: (params) => { const name = params.name; switch (name) { case '鍥涘窛': return '鎴愰兘鎬婚儴' case '婀栧寳': return '姝︽眽' case '骞夸笢': return '骞垮窞' case '鍖椾含': return '鍖椾含' case '涓婃捣': return '涓婃捣' default: return ''; } } }, itemStyle: { color: style.dot, // borderColor: style.dotBorder, borderWidth: 0 }, // 杩炵嚎 markLine: { // 涓嶅搷搴旈紶鏍囦簨浠 silent: true, symbol: 'none', lineStyle: { type: 'solid', color: style.line }, data: [ lineCoord('鍥涘窛', '婀栧寳'), lineCoord('鍥涘窛', '鍖椾含'), lineCoord('鍥涘窛', '骞夸笢'), lineCoord('鍥涘窛', '涓婃捣'), ] } }], tooltip: { confine: true, padding: 0, borderWidth: 0, triggerOn: 'mousemove', trigger: 'item', formatter: function (params) { if (!csNames.includes(params.name)) return; // 缁欓渶瑕佸脊绐楃殑鍩庡競杩斿洖寮圭獥鏍峰紡 for (const i of csData) { const name = $(i).attr('data-name'); if (name === params.name) { if ($(i).attr('data-notips') !== undefined) return; return i.outerHTML; } } }, } }; chart.setOption(options); window.onresize = chart.resize; // 缂╂斁鍊嶇巼 let zoom = 1; chart.on('georoam', (e) => { if (e.zoom) zoom *= e.zoom; // console.log('zoom', zoom); if (zoom > 3) { chart.setOption({ series: [{ label: { show: true } }] }) } else { chart.setOption({ series: [{ label: { show: false } }] }) } chart.setOption({ series: [{ symbolSize: (val, params) => { const name = params.data.name; if (name === '鍥涘窛') { return 30 * zoom < 20 ? 20 : 30 * zoom; } else { return 10 * zoom < 15 ? 15 : 10 * zoom; } } }] }) })