From b9a9347b520b8444cddbcc4ba93c99d7d82dfdf7 Mon Sep 17 00:00:00 2001 From: zhufu <17863654727@163.com> Date: Thu, 5 Dec 2024 14:26:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=A1=86=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=EF=BC=8C=E5=B7=A6=E5=8F=B3=E5=88=97=E8=A1=A8=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=9A=90=E8=97=8F=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/bigScreen/go_left.png | Bin 0 -> 2964 bytes public/bigScreen/go_left_button.png | Bin 0 -> 2588 bytes public/bigScreen/go_right.png | Bin 0 -> 3164 bytes public/bigScreen/go_right_button.png | Bin 0 -> 2612 bytes src/views/bigScreen/SearchComponent/index.vue | 116 +++++++++++++++++- src/views/bigScreen/index.vue | 97 ++++++++++++++- src/views/bigScreen/util.ts | 40 ++++++ 7 files changed, 244 insertions(+), 9 deletions(-) create mode 100644 public/bigScreen/go_left.png create mode 100644 public/bigScreen/go_left_button.png create mode 100644 public/bigScreen/go_right.png create mode 100644 public/bigScreen/go_right_button.png create mode 100644 src/views/bigScreen/util.ts diff --git a/public/bigScreen/go_left.png b/public/bigScreen/go_left.png new file mode 100644 index 0000000000000000000000000000000000000000..8df5c35a9ed2f6283650cb9fde2dc9560ccef713 GIT binary patch literal 2964 zcmeHJYdjN*8=lMN7IL5TH{~9d3JD{QOT$4b6C=5n%P`m6!%>9gGE-u5^Z9f>z3+$j^7}o%_kErx-NDXESnz}(000n%Uom&&L|FiU zCz>C`$@Hp!gwb15j_5z|_rqDCRU|cb&W)MQ&g=kYTK55Z?m+5ax0o@!gz6K?AXuVdRle#K=~cU1m<^S zT=>t1ZO~|;x1)|;qz;jIeyVMor6wJ<&M?oi@kb!v)B;~)U?O!D!jy^w>EdGQj>^-g z-sp%6A||K2YA)1xd65@0G-y-TbRq_p*>_O=NV!5*f2TpF*<#C_#c+HjtH;-p;v%DLM0guAPW6tub53NxNum}tc+(7=bmx)NJnE_$FQl3)AHSzG3@m-x4wx)m7i&fAC(a+#FuNR zv+zQnnbrt#i`DL;*nbLvNp76+$ea8r!e6X=Ld1^G;$D>}iY+kh5o0o1mL7W6xoc5e zFOlg68_D^Ps)2MzXbk`u;P%l%s??*-hET;VSsS4)b0aCa1xhaybZDG-fxONoIMJ5> z=*;DA7aaO3P|ca~U(>%1#4nR!sZ=Z-1lAeflhx0#YoQsf-=|V?YHLnPG%pBz-ZI}` zDG(|;d$Z%$Lj{UKU{Vek#f2tp3}cUpyx}t>LQ<^W#RgD~kP)94Ej`0|nywR`n7w5l zd3_pTOQhC$>-#dM@oug{%`6BbRJ`SPx+p$@m8D}Lo{D7%kI3~FW00HAVOIJ+aEJQv z6Dbhx6}ixQc6LWyoVB=Xy=H262aR1e=odUSNv#Tn-&>Fjm{k$opQ6V=sq^gSbMVBY zQPXw2j=X)Jy~&f$<}yK!qbVn0U|N*sH^j(`1$4Wb=qP66U^&owuplzrllflf- zx26P*e6PA#NMPh`%x^;;}+qpz8``N1TZ*(Dq--M6=SOC>(k5oPAtyOtnIStO?9jZnA!$7EFLkt;4O zUmusY1c61oNUfB-+0Hyc+MaQG8HSH$CqE83| za*3&iRYA~#v-3t$qn#$716bPB@3r@jy!IDGi!We{mJcCHWox{QVF~#|C*0tUPR!Fb zdyO~9o7^d}j%@E|`=ltCL&L*(Bgo#qc5GRj>U4yu*WjpS@X!EMV#rh`iUB{v<=d{k`>H~qkG;AzvWHHW&Z*N~CufW$j zX~`p2`%i;oyP+4`=;4x&B*>$~*!2X))|BLGEY#ZS{HY95^MuiIN7tJjT*eCC8_j<; z{K?jeN_3pM?f}Wv-bc8-OYKJbVP?r12qvKZuhYzb%>I8Mm)kkZy?>AvBPGDh4U8jS z*)%+^de8n!kHzJX;5NcX>>t|t3c133OG*sURByMo+>izC_b;>r&H{#DUrNf6mmr|1 zN{#fg9}B~7U#vf3m9?GoN|Z8uK_ny3%tUpq^d|aRWbjbstZAK)V-7FfS~bai^`(u2 zn$ct&{MNi5PZ5CW1bwrfn)3rb-fTHwg;#(Q_?Y|{mLJ|;ad`G{e* zf;&2b_1ruMu?@Yu!9)=5R8f2=%P)K7S^4$7%$82x-J;J()aMdW-D|jUnkX&x+iuDr zt9FKZjWVu8D^mE%1Zodnq+BD1ww@SWIR zeI<((GF|8$(g*{;boWf^>L+YQ9h6ocrm$!VC!7Pb0x+V+yQuKU?8#X36?;c0{?2X8 zqo}|mV0}9}491n{%3;-;0jqr^7{+Wd7|#35+oM$LS{9DCF&56-9q7y! j{rPkMwV3IK?h){^ukv_1vh)+jW&_|BcINeF9?5?LZEB7m literal 0 HcmV?d00001 diff --git a/public/bigScreen/go_left_button.png b/public/bigScreen/go_left_button.png new file mode 100644 index 0000000000000000000000000000000000000000..29920fca100213a20149a1d3df854076ca0610ad GIT binary patch literal 2588 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 nhK8ln-5Rk0-@^=CyOM!IU%1a`5=6B=2(Q$Pm literal 0 HcmV?d00001 diff --git a/public/bigScreen/go_right_button.png b/public/bigScreen/go_right_button.png new file mode 100644 index 0000000000000000000000000000000000000000..3d3e2a1ca5d816e438a96f67e0fd6f22de9e818b GIT binary patch literal 2612 zcmV-43d{A0P)Px;?ny*JR9HvNnR{?l)g8ybzjN+A=ia-!kcWgylxMixH? zv1wEAeL_W^sm;QqQh+T0tw2h>9FV>O)zwYk7f_xux}^nVY~)B2GC&0lDxLRDT6@YuIB#i0aR9M5c%JgQk^hbE8y_g5lrrBSs>1# zl`?!!d#6uc=v{W%*ZY9h??R<+$|&fsTk~N|s7%-_3(x_GvwC~<=o^M!KW|49;$ML% zb39ebhiPr=f(bp7Rmt3QZYnj%w%e?dlWs4#asK8sQU|}HqUPfTl<%3gEQ|@6(k7$A z5Se?EVF*2>LqGAt!i__3xN4PMFl>JVu={v~EemshE41=-5C9z=M~14qkBoba!7U5C zs9?Ky!R%%BnUi+yL+oP^bsURIAq-Zptz-zEg;J$qXwqp=5ag@UsZbCp6)3=B;KfBP zPQ{P!@h-V&3x~C>foT7?1&UzIV|iUElj>Pgx-tw+Ivp(-hOEak=O?42*5Jd6l^8en ziNvLIpVC5n+(h!jZv)f?V?LcsdfbgY2Bqd{^XvT#U>3}ICcAhZoO#Xn!HWuEj~nwr zY|cfGSjENljgT*aC_Nace3$20Q`kU67LQK=%_G}kCva!0{t|U`cc#-OePugMqbGaS5769jhPJWiRF-$Q?|S3 z%y{LYCLpP9lneCyU&Q$GcuQp1H^MZUf!L+KK- zWx?*0{~oHUx_VDC$yg@17eR0fjIm8MHZ7uO+UJaIu7QGXZ3Srs@BE*@nR(VuyS(f( zO?<;%*pK(D+9Aw{f4^44Y&*$aryiNi(v0t??U>ih?NJ4lE(Iw0>jNYs-1{t%|*#TRS1w3C+W zfIDuxhI%NIYJb&^#r(ih+jdWwvL_GdmRrtc8c!1E!^pP7F@tOlvTTqrPZ?bu2_|KD zCC34|E||HG#WH+k>3?}V_CF1F^InqM!3rnVJB47Z-NBC}eN$ z7}mo_1F2{Ocuxr9tY2TlEi36aG{XOK9}<;Q;f^dd;Znr-KZDk`jU=TnhB}{pG2x6) zkH_rN8(Rn?)~%~y+)kpS9d=P6tXK?|>wKvKzfPt7kC^ARW#a0+mYEkH?EI2nUpEet zu3@&#S%_Z!m43`@Ed1%$+qzgB1)x?9yMD zuHJ5q8I>a2TGt4trhC7Nc9aH2=?eqJuLeuoU~Cwgo8Ln++13eSD)64h`=Iq7v{GF? zt+$4mgUj|TYxF31m;4lV+1RhFQKy<+#iG6BywKA((U-1SGYO@opW^b%13dh295>!* zdQ;a~&BBFo0&Rd&b12Zzxn>z{gQM{@*DSmDE3F}?R=_!{(zhp1Y_f)zY*)~~Ya;iH zqZ+u+th?!^k)&xeDRo8|3L=;((Da*V=a8Fka`#cl%)suZ@ukUV9=K|KH)Iuy?IsSxF5dqmZgUCiROjpRMq zU#U4d%&kkWVoLobob*DYcAH_0DnWK%Wpqtg#rbFhCOyP>@lO7omn&9wnm)% znh&RLKT&?y?}O@y-2wUfF;c<2&nSQ(N;K-s3(c~uAx@ePP0zmU_;Tq^6!^-Q+Xb{bhXvPA6Kl0}PNZvaw*En1+pVbzNBFOn4#=;}iW# z5Oc4_qD6cA+prII(LTF2uU(^!agArfzO3~sHLbEbZ`3?qEB4o$c-@*%84VmF9sDL( zvgDcXVeKQ9hzwkJzfohWB0Ud_7uTN%kjOJyTdZ#FpB1TvKZyT{J5fsX-nD-qH2(*N W^lgHHP*gYo0000 -
+
- +
-
+
+
+
+
{{ item.id }}
+
{{ item.county }}
+
{{ item.street }}
+
+ +
@@ -29,6 +87,7 @@ export default { height: 36px; display: flex; z-index: 1; + transition: 0.5s; .search-input-div{ width: 309px; height: 36px; @@ -41,7 +100,7 @@ export default { background: none; border: 0px; height: 36px; - line-height: 36px; + line-height: 13px; font-family: Microsoft YaHei; font-weight: 400; font-size: 13px; @@ -65,5 +124,52 @@ export default { transform: translate(-3px); } } + .result-div{ + position: absolute; + top: 40px; + width: 283px; + // height: 200px; + background-color: #014B4D; + border: 1px solid #038E90; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + .result-item { + width: 100%; + height: 38px; + color: #e1ecf8; + display: flex; + line-height: 38px; + padding: 0px 12px; + font-size: 14px; + .search-icon { + width: 28px; + height: 36px; + } + .level-0 { + max-width: 160px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .level-1 { + margin: 0px 6px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .level-2 { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + &:hover { + cursor: pointer; + background: #038E90; + } + } + } +} +.hidden-search-div{ + left: 136px; } diff --git a/src/views/bigScreen/index.vue b/src/views/bigScreen/index.vue index 124c054..d050eb2 100644 --- a/src/views/bigScreen/index.vue +++ b/src/views/bigScreen/index.vue @@ -11,18 +11,24 @@
-
+
+
+
+
-
+
+
+
+
- +
@@ -58,7 +64,9 @@ export default { picture:'', detailed_address: '', start_time: '', - } + }, + leftHidden: false, + rightHidden: false, }; }, methods: { @@ -75,7 +83,16 @@ export default { this.forewarningInfo.detailed_address = item.detailed_address this.forewarningInfo.start_time = item.start_time this.showForewarningModal = true + this.cameraFly(item.longitude,item.latitude) }, + cameraFly(lng,lat){ + window.globalmap.flyToPoint({ + lat: lat, + lng: lng, + alt: 1000, + duration: 3, + }) + } }, mounted() { @@ -176,6 +193,42 @@ export default { left: 30px; width: 425px; z-index: 1; + opacity: 1; + transition: 0.5s; + .show-hidden-div{ + position: absolute; + height: 822px; + width: 25px; + background-size: 100% 100%; + right: -25px; + .show-hidden-button{ + width: 35px; + height: 54px; + background-size: 100% 100%; + position: absolute; + top: 405px; + cursor: pointer; + } + .show-button{ + background-image: url('/bigScreen/go_left_button.png'); + left: 9px; + } + .hidden-button{ + background-image: url('/bigScreen/go_right_button.png'); + right: 9px; + } + } + .show-div{ + background-image: url('/bigScreen/go_left.png'); + } + .hidden-div{ + background-image: url('/bigScreen/go_right.png'); + right: -65px; + } + } + .hidden-left{ + left: -428px; + opacity: 1; } .right-content{ width: 425px; @@ -186,6 +239,42 @@ export default { background-image: url('/bigScreen/right_backgorund.png'); background-size: 100% 100%; z-index: 1; + opacity: 1; + transition: 0.5s; + .show-hidden-div{ + position: absolute; + height: 853px; + width: 25px; + background-size: 100% 100%; + left: -25px; + .show-hidden-button{ + width: 35px; + height: 54px; + background-size: 100% 100%; + position: absolute; + top: 421px; + cursor: pointer; + } + .show-button{ + background-image: url('/bigScreen/go_right_button.png'); + right: 9px; + } + .hidden-button{ + background-image: url('/bigScreen/go_left_button.png'); + left: 9px; + } + } + .show-div{ + background-image: url('/bigScreen/go_right.png'); + } + .hidden-div{ + background-image: url('/bigScreen/go_left.png'); + left: -65px; + } + } + .hidden-right{ + right: -429px; + opacity: 1; } } diff --git a/src/views/bigScreen/util.ts b/src/views/bigScreen/util.ts new file mode 100644 index 0000000..ffd9b24 --- /dev/null +++ b/src/views/bigScreen/util.ts @@ -0,0 +1,40 @@ +// 火星坐标系GCJ02转地球坐标系WGS84 +var PI = 3.14159265358979324; +export function transformGCJ2WGS(gcjLat, gcjLon) { + let d = delta(gcjLat, gcjLon) + return { + 'lat': gcjLat - d.lat, + 'lon': gcjLon - d.lon + } +} + +function delta(lat, lon) { + let a = 6378245.0 // a: 卫星椭球坐标投影到平面地图坐标系的投影因子。 + let ee = 0.00669342162296594323 // ee: 椭球的偏心率。 + let dLat = transformLat(lon - 105.0, lat - 35.0) + let dLon = transformLon(lon - 105.0, lat - 35.0) + let radLat = lat / 180.0 * PI + let magic = Math.sin(radLat) + magic = 1 - ee * magic * magic + let sqrtMagic = Math.sqrt(magic) + dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * PI) + dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * PI) + return { + 'lat': dLat, + 'lon': dLon + } +} +function transformLat(x, y) { + let ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x)) + ret += (20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0 / 3.0 + ret += (20.0 * Math.sin(y * PI) + 40.0 * Math.sin(y / 3.0 * PI)) * 2.0 / 3.0 + ret += (160.0 * Math.sin(y / 12.0 * PI) + 320 * Math.sin(y * PI / 30.0)) * 2.0 / 3.0 + return ret +} +function transformLon(x, y) { + let ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x)) + ret += (20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0 / 3.0 + ret += (20.0 * Math.sin(x * PI) + 40.0 * Math.sin(x / 3.0 * PI)) * 2.0 / 3.0 + ret += (150.0 * Math.sin(x / 12.0 * PI) + 300.0 * Math.sin(x / 30.0 * PI)) * 2.0 / 3.0 + return ret +} \ No newline at end of file