From a37175d92af5ddc5c38ded0c3ca5ed6554a66a72 Mon Sep 17 00:00:00 2001 From: Ming Ming Date: Wed, 18 Sep 2024 02:21:54 +0800 Subject: [PATCH] Add compass icon to show and reset OSM map orientation --- np_gps_map/assets/2.0x/map_compass.png | Bin 0 -> 2146 bytes np_gps_map/assets/2.0x/map_compass_dark.png | Bin 0 -> 2175 bytes np_gps_map/assets/3.0x/map_compass.png | Bin 0 -> 3238 bytes np_gps_map/assets/3.0x/map_compass_dark.png | Bin 0 -> 3416 bytes np_gps_map/assets/map_compass.png | Bin 0 -> 715 bytes np_gps_map/assets/map_compass_dark.png | Bin 0 -> 725 bytes np_gps_map/lib/src/interactive_map/osm.dart | 51 ++++++++++++++++++++ 7 files changed, 51 insertions(+) create mode 100644 np_gps_map/assets/2.0x/map_compass.png create mode 100644 np_gps_map/assets/2.0x/map_compass_dark.png create mode 100644 np_gps_map/assets/3.0x/map_compass.png create mode 100644 np_gps_map/assets/3.0x/map_compass_dark.png create mode 100644 np_gps_map/assets/map_compass.png create mode 100644 np_gps_map/assets/map_compass_dark.png diff --git a/np_gps_map/assets/2.0x/map_compass.png b/np_gps_map/assets/2.0x/map_compass.png new file mode 100644 index 0000000000000000000000000000000000000000..64f8cef88f1f2ba567ad2e3521258317596283ed GIT binary patch literal 2146 zcmeHH|2xx*7k@LEFLV1c%ovhUh?ZQWwen?H%9D|B$(XSe?XrkeZbad_ z=jn!5M8Z#~ffQcgp82z}o9Kx@1pvwB0Fasv0PBiU>K6dGi~;}=0RWut0RW6r+U$b{ z0OgX?C;hMr!q)%o-@SlbCR=>>Zjs5{+}Plg$*a@TOnduNC=H^IFj!Y~T^LTAYY_>!q+1S_+2m~^jY-(z1dU|?oZEa|1XlZGQ&*u*h z56k89-rnAsnHdg;)8F4Ol}dYhdcJ-8rr2?Ic6NPzePm=rC=@0O(Y6Y8UZvu_eSz)f z=#Y#$&dA&v`}wV4jeyGOb#-Xgm&GCsgu-9F2D>;henC&=Oy5R7VVm;4r`47q@>HaD zVTt~`4#WMQtPc$h3ym$F1PP+G#;9?G!Wy^t0;o0 zxKmj07xkUHG}Ii&62bvMB?0H=>_^_V*e(tAJEI34gLQ7xb5QLxi|Ej5tt30 z{)KZuNwI%qY+z7vs3vyajT9Z&RQYGi^sd5>2VdzhcPS01Hf;S9R=UP0zIyKK?qlE4 zebv5uYbq*YLYfoiji3fFm;rH#_o~R+Da+~P5=NZhp&W#xe4dmc@nFi}`bwJnmeTga zbL~j2lL>!}pD@zKE*9BdQ5&?Qex^h}?0daabw7%4Y=p}j)KFqsKu z28nN+WjLj{y{1f|0?unk#-al}uvQ-JB_3fF3uA~QHbIB4LlBoR)fI+gh#gs=u|`c# zk{2-9k?10ptD`hxDn-g{maoh2BBbLFoIt0vH!6Li`#eQAPn1NtzGId4K>lC9;Z>;P zQBQ$k&e2)7f*&xO6G>uz5^rkQ2-RAdr8F6}lREwq(wKr%kt@6ZQmyN<^r5Z-H;08& zoBZsgiyD$}oDP`Ie4A|^Md~uHU_HFy%)wg1Bp;rifS%pT5NcKisnNe*;CH;aQ3msR zI!D;BIu#5y&Gbt^SytZBPz({NvbEqds*c&70%++8c-5{_7*3#Bnq^u2|u^t*9W>sf!quB#lM@Uow2@u zChbihuIk*j8s34ev+DiFZHrz*N;53scmcrXBKdlespB<;CISp9=aXlYRE?rf>awQz zL-y7NgG%+`ev=^Lv?brm5X6pwQw>T5bx>2HmLBP{ZP{}OWECkC{5hC zZ{kmfva?p8SXa)Kg29PEP5P1R7V^Zh2DWQVvXx(CxV)-L>8Id%eN^(=SK$w5(*xQ2?>F|RHvQH>U*sMT(!XZIGK&SV{U(G$vLK7bm`X7z||f>1YHoiUe1eXNQt zpkep8&lNz$LGhH}RBQm%_fjM^F)WS*Bqk=>oR7T_PYk1wY%aw`-T#W#SC9Z4*4yp5 I3*qMf0OB;!%>V!Z literal 0 HcmV?d00001 diff --git a/np_gps_map/assets/2.0x/map_compass_dark.png b/np_gps_map/assets/2.0x/map_compass_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..4058852594c2135d90c717ce696d84fdc58566ec GIT binary patch literal 2175 zcmeHHXIGO85`NQp(Va%^)Q}kO+tpl1Q$K5Ws{YL`c8}hN4JQil87xKtMD$ z$mN1`6zifvSx^^IDY}Ys5h*dOvR+vbu4Tjii2by4&di*dc|J@z&*b^~Y$jkCSO5SB zLT{c(=cUW4htSz!!SUt7sz`6qHULPm1b~cV0I;M>WoQ84APWGrQUGv00|15!DQpM4^a4FaQKEkjaiHR4Rc$g~KnC$(P9Fb!hZ;2y#KA(}=`iEEWrcmFer7 zBauNMcng9gAczEjTU6>1BJn7ZXb6W_lgS2f_MV;hwZ&0b>SZq0oR6!!)V6YYnrHaj_P$*KV6oo>GL?SdA&1SQ4IGju-!{hM+ zfxy(%G$<%YB9XvgFdmP`=krZWOyF?1SS)6-SaP`>f}rs5a9>|vM@L5o2ZxA=2xDVo zFE1}6BO_Z|TQZp(78Zs?BDZhfZf|c7f}p3TXJlmL%9Sg1V=)+vpFe-rPe%pou9cc7 z^6>{&Si0}bZF&0k!`J@ioKUPpHMs;*@--hTJ@ATwg>=LHw<^(62=na2RD=!&ji7$pAan;Lyom-=bN%G>;1E& z=y}5Ldkp^ZUEY9xA6eG*V5QM18QpC$(IZ{g1}tLBX5NH-gd0;AfC}%R1OSkfFDvX- zjLV=diAfZ0<6|@+iEPBQ^5xqA0P={C=NYgY^|9+i$mu{DW(?DVqPd`ZEM#xGDj`B| zoM9`z@3EutCa1y2eYRWHemSnEb#Mu0C!E~6wvsh@ru>$99mqUuFj*0?Sj;X+h$BRg ze)$*ikCH!Y4QzuYRMMV(!?(AM)M?I~(X2_mGjF`Vgfz6@^-z9?+xW9h$_FMR%nN5T z2VdO6v2Pzr?G~=Ex|~{#!;2$|_4eMr(3w)>m%cP#Q!D)C(*ZTyZ1On_x|>;_jhD#q zM{El3J9ihdIJu(3?hmAP8%?KjQ`g|l1Ps=V2vi@vMo=b??BUi(Cm+Lit5jutdet+g zjkWbLp8#}FsRuE*VMj|Cs;PJIQPy+jvk7khI(dU?A?-i?)9rNZ~X=7vPAv@FB^pBu~roigtFr>hMD@ zrWta|-ZO`A(sJnJs=rxCE&NX~+ob7jA;?$XEhPR--Z5k4h7dl2pQ`>mb;^1G)<54_ zo!L3k6*pb_*Z?E=A?AKQ=s`IW@|CDOq}q$?smQMGe`h8aRTyuu(Wc!q#oO0ct2vh6icSkJw%6RBrO~QXXJMT? zH=c0)RX)(t7%;T>*-FDNvqq;_^zzSpIgUm9O&c9B^YZI&>J_;nIezG9#G{>kd$(~?%Z z@Dk7FQ1m{794+$2tXO`k!Akv0t?$)v*z}Myed0A!VcA=jC+=GELN8JpUp_2&g7Qf& zY!v$wi}sPL;w-ZQEoK5UoqL6~VVIc~EZsMb)c8qex66(*X(&_Y#4DD}PYJ>i%6sxn zR8EhP%Bf`|=cQbIP%*V&)?|ZF?)@Mp^k?O$D%mup(ZDR4b8^&Npp9U~j+T1dh|PLu zvR!%Yvh>Z5%}b$o2t6T)JeR(VQR5E@n3SH8A=*>2=513+`;^^WMM|CDtZGxsj>o|o z`MoU$s^aVy|4v=_k+UPfHK?=%JpYGQ`|}c|+|!^?nCTM}W5I48eAG_bfJcjxKvx^vg`d<#8n@~mRUvwXydFX{mj-73scr~;?K0ao!_Qus{LGR6K zr%tEewuf9e=VcpwtyOchb##FDD9DGadrtI3z9iBAKvZJVu6Q|+l$2z*Cw5;#xlis49S9KeeR$1WY1V%L#PQD` literal 0 HcmV?d00001 diff --git a/np_gps_map/assets/3.0x/map_compass.png b/np_gps_map/assets/3.0x/map_compass.png new file mode 100644 index 0000000000000000000000000000000000000000..ff804f7aca2694232b98b6a29c401442f29df29a GIT binary patch literal 3238 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 C`w_?h literal 0 HcmV?d00001 diff --git a/np_gps_map/assets/3.0x/map_compass_dark.png b/np_gps_map/assets/3.0x/map_compass_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..66992b8e1c730f106101b8101886c4ad1fa0834f GIT binary patch literal 3416 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 literal 0 HcmV?d00001 diff --git a/np_gps_map/assets/map_compass.png b/np_gps_map/assets/map_compass.png new file mode 100644 index 0000000000000000000000000000000000000000..b47c6cc76dddaa2a8fbdee64f1c26d836d3295fe GIT binary patch literal 715 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-s3dtTpz6=aiY77hwEes65fIFRp=^y!x`U(TI7_wV1o zn>TOXx^?Ttix=O&fB&p}JRRs_`H~>NV21Rx1@n)dR!}{6=EqN^21szu*)U z;^MG)P?iMLqweYA7~;Wu_u$K*D*+;{7kd+!eM3~5HqVz~dA`_4W6%HYnO;wqyG-MDP##w$x~wdDI(n#{To(7oVV##uczrp;G$ z{SDLw=NniT?RfDZW!|Gj&DG1K-kDgXTZEbwUOfCZoAtY8ReV9z!P?$?=5yT67aAUr zU6EmUKluam^^f()lYlJ>Nl|uw`^)XE%(kt^v?Y^e-5wwCNy34j<#e>SwYcy z!|OAz&&a*I=}1b_y$oMx-O0D+sqI->RP4O;;u2M3u~{GcJl~tXXU-Peb=&Tl$M=E@ zm$Lc48vJG7r7+)a+cNnKU?@tKxJHx&=ckpFCl;kLl$V$5W#(lUCnpx9>g5-u&wghk Q1ysb~>FVdQ&MBb@07e3CIRF3v literal 0 HcmV?d00001 diff --git a/np_gps_map/assets/map_compass_dark.png b/np_gps_map/assets/map_compass_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..cd489bac3972769c4f25d8315ee61365e23658f8 GIT binary patch literal 725 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-s3dtTpz6=aiY77hwEes65fIm{}i@gcVz9A}2kG{MNEU@ES(6H}+^-Qm)%ib>& z?z+EbsdZNKLEF2B)Y81ocb}it`YhKt)7`ji=Ef^aY_;<51!bBnTqx$a_TsEqAC|P0 z*>VZ@T=yJ*bK>Em=E;>E-F)vRX6=~#V$P$Gn@3#vx33qy)Bd9NNG9ud&8qo@QntsA zGL$b^bhM`PV7Sj}CUNCCTrn;+r~k+aT8Pe&7o0e^<40#;B zFnn%laoi?wW8-PYcLBKFq5@>;$H4KVcQCB9+q9%wEN6CRllvvcf5Hp@8p9` z&6BN<#iYh1ZYw=2G`X{Kohk2DpRDRxADT|xuMd&(jWSAJD5*d5i`VD4&1nl~zfJBd z;bzy}`z@gSa{b5I^8*~t+I|EEqhyI|L`iUdT1k0gQ7S`udAVL@UUqSEVnM22eo^}D ScQ#T$MGT& { source: Text("OpenStreetMap contributors"), ), ), + Align( + alignment: AlignmentDirectional.topStart, + child: Padding( + padding: EdgeInsets.fromLTRB( + 8, MediaQuery.of(context).padding.top + 8, 8, 0), + child: _CompassIcon( + mapRotationRadSubject: _mapRotationRadSubject, + onTap: () { + if (_controller.camera.rotation != 0) { + _controller.rotate(0); + } + }, + ), + ), + ), ], ); } @@ -135,6 +150,42 @@ class _OsmInteractiveMapState extends State { final _subscriptions = []; } +class _CompassIcon extends StatelessWidget { + const _CompassIcon({ + required this.mapRotationRadSubject, + this.onTap, + }); + + @override + Widget build(BuildContext context) { + return StreamBuilder( + stream: mapRotationRadSubject.stream, + initialData: mapRotationRadSubject.value, + builder: (context, snapshot) => Transform.rotate( + angle: snapshot.requireData, + child: GestureDetector( + onTap: () { + onTap?.call(); + }, + child: Opacity( + opacity: .8, + child: Image( + image: Theme.of(context).brightness == Brightness.light + ? const AssetImage( + "packages/np_gps_map/assets/map_compass.png") + : const AssetImage( + "packages/np_gps_map/assets/map_compass_dark.png"), + ), + ), + ), + ), + ); + } + + final BehaviorSubject mapRotationRadSubject; + final VoidCallback? onTap; +} + class _OsmDataPoint extends Marker { _OsmDataPoint({ required this.original,