package Ġcom . z ys . base library . utils Ċ Ċ import Ġjava . io . File Ċ Ċ object ĠOpen Local Map Util { ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åľ° åĽ¾ åºĶçĶ¨ æĺ¯åĲ¦ å®īè£ħ ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Gd Map Installed (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġis Install Package (" com . aut on avi . min imap ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis B aid u Map Installed (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġis Install Package (" com . baidu . B aid u Map ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Install Package ( packageName : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFile ("/ data / data /$ packageName "). exists () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ æīĵå¼Ģ çĻ¾ åº¦ åľ° åĽ¾ åºĶçĶ¨ uri Ġ[ http :// l bs yun . baidu . com / index . php ? title = uri / api / android ] ĊĠĠĠĠ Ġ* Ġ@ param Ġorigin Lat ĊĠĠĠĠ Ġ* Ġ@ param Ġorigin Lon ĊĠĠĠĠ Ġ* Ġ@ param Ġdes Lat ĊĠĠĠĠ Ġ* Ġ@ param Ġdes Lon ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget B aid u Map Uri ( ĊĠĠĠĠĠĠĠ Ġorigin Lat : ĠString , ĊĠĠĠĠĠĠĠ Ġorigin Lon : ĠString , ĊĠĠĠĠĠĠĠ Ġorigin Name : ĠString , ĊĠĠĠĠĠĠĠ Ġdes Lat : ĠString , ĊĠĠĠĠĠĠĠ Ġdes Lon : ĠString , ĊĠĠĠĠĠĠĠ Ġdestination : ĠString , ĊĠĠĠĠĠĠĠ Ġregion : ĠString , ĊĠĠĠĠĠĠĠ Ġsrc : ĠString ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= Ġ" intent :// map / direction ? origin = lat lng :% 1 \$ s ,% 2 \$ s | name :% 3 \$ s " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"& destination = lat lng :% 4 \$ s ,% 5 \$ s | name :% 6 \$ s & mode = d riving & region =% 7 \$ s & src =% 8 \$ s # Intent ;" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" scheme = bd app ; package = com . baidu . B aid u Map ; end " ĊĊĠĠĠĠĠĠĠ Ġreturn ĠString . format ( uri , Ġorigin Lat , Ġorigin Lon , Ġorigin Name , Ġdes Lat , Ġdes Lon , Ġdestination , Ġregion , Ġsrc ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ æīĵå¼Ģ é«ĺ å¾· åľ° åĽ¾ åºĶçĶ¨ uri ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Gd Map Uri ( ĊĠĠĠĠĠĠĠ ĠappName : ĠString , ĊĠĠĠĠĠĠĠ Ġs lat : ĠString , ĊĠĠĠĠĠĠĠ Ġsl on : ĠString , ĊĠĠĠĠĠĠĠ Ġs name : ĠString , ĊĠĠĠĠĠĠĠ Ġd lat : ĠString , ĊĠĠĠĠĠĠĠ Ġd lon : ĠString , ĊĠĠĠĠĠĠĠ Ġd name : ĠString ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" android amap :// route ? source Application =% 1 \$ s & sl at =% 2 \$ s & sl on =% 3 \$ s & s name =% 4 \$ s & dl at =% 5 \$ s & dl on =% 6 \$ s & d name =% 7 \$ s & dev = 0 & m = 0 & t = 2 " ĊĠĠĠĠĠĠĠ Ġreturn ĠString . format ( uri , ĠappName , Ġs lat , Ġsl on , Ġs name , Ġd lat , Ġd lon , Ġd name ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç½ĳ é¡µ çīĪ çĻ¾ åº¦ åľ° åĽ¾ Ġæľī ç»ı çº ¬ åº¦ ĊĠĠĠĠ Ġ* Ġ@ param Ġorigin Lat ĊĠĠĠĠ Ġ* Ġ@ param Ġorigin Lon ĊĠĠĠĠ Ġ* Ġ@ param Ġorigin Name Ġ-> æ³¨ ï¼ļ å¿ħ å¡« ĊĠĠĠĠ Ġ* Ġ@ param Ġdes Lat ĊĠĠĠĠ Ġ* Ġ@ param Ġdes Lon ĊĠĠĠĠ Ġ* Ġ@ param Ġdestination ĊĠĠĠĠ Ġ* Ġ@ param Ġregion Ġ: Ġå½ĵ ç»Ļ å®ļ region æĹ¶ ï¼Į è®¤ä¸º èµ· çĤ¹ åĴĮ ç»Ī çĤ¹ éĥ½ åľ¨ åĲĮ ä¸Ģ åŁİ å¸Ĥ ï¼Į éĻ¤ éĿŀ åįķ çĭ¬ ç»Ļ å®ļ èµ· çĤ¹ æĪĸ ç»Ī çĤ¹ çļĦ åŁİ å¸Ĥ ãĢĤ --> æ³¨ ï¼ļ å¿ħ å¡« ï¼Į ä¸į å¡« ä¸įä¼ļ æĺ¾ç¤º å¯¼èĪª è·¯ çº¿ ĊĠĠĠĠ Ġ* Ġ@ param ĠappName ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Web B aid u Map Uri ( ĊĠĠĠĠĠĠĠ Ġorigin Lat : ĠString , ĊĠĠĠĠĠĠĠ Ġorigin Lon : ĠString , ĊĠĠĠĠĠĠĠ Ġorigin Name : ĠString , ĊĠĠĠĠĠĠĠ Ġdes Lat : ĠString , ĊĠĠĠĠĠĠĠ Ġdes Lon : ĠString , ĊĠĠĠĠĠĠĠ Ġdestination : ĠString , ĊĠĠĠĠĠĠĠ Ġregion : ĠString , ĊĠĠĠĠĠĠĠ ĠappName : ĠString ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= Ġ" http :// api . map . baidu . com / direction ? origin = lat lng :% 1 \$ s ,% 2 \$ s | name :% 3 \$ s " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"& destination = lat lng :% 4 \$ s ,% 5 \$ s | name :% 6 \$ s & mode = d riving & region =% 7 \$ s & output = html " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"& src =% 8 \$ s " ĊĠĠĠĠĠĠĠ Ġreturn ĠString . format ( uri , Ġorigin Lat , Ġorigin Lon , Ġorigin Name , Ġdes Lat , Ġdes Lon , Ġdestination , Ġregion , ĠappName ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĻ¾ åº¦ åľ° åĽ¾ å®ļä½į ç»ı çº ¬ åº¦ è½¬ é«ĺ å¾· ç»ı çº ¬ åº¦ ĊĠĠĠĠ Ġ* Ġ@ param Ġbd _ lat ĊĠĠĠĠ Ġ* Ġ@ param Ġbd _ lon ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġbd To G ao De ( bd _ lat : ĠDouble , Ġbd _ lon : ĠDouble ): ĠDouble Array Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgd _ lat _ lon Ġ= ĠDouble Array ( 2 ) ĊĠĠĠĠĠĠĠ Ġval ĠPI Ġ= Ġ 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 4 Ġ* Ġ 3 0 0 0 . 0 Ġ/ Ġ 1 8 0 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġbd _ lon Ġ- Ġ 0 . 0 0 6 5 ĊĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġbd _ lat Ġ- Ġ 0 . 0 0 6 ĊĠĠĠĠĠĠĠ Ġval Ġz Ġ= ĠMath . sqrt ( x Ġ* Ġx Ġ+ Ġy Ġ* Ġy ) Ġ- Ġ 0 . 0 0 0 0 2 Ġ* ĠMath . sin ( y Ġ* ĠPI ) ĊĠĠĠĠĠĠĠ Ġval Ġtheta Ġ= ĠMath . atan 2 ( y , Ġx ) Ġ- Ġ 0 . 0 0 0 0 0 3 Ġ* ĠMath . cos ( x Ġ* ĠPI ) ĊĠĠĠĠĠĠĠ Ġgd _ lat _ lon [ 0 ] Ġ= Ġz Ġ* ĠMath . cos ( theta ) ĊĠĠĠĠĠĠĠ Ġgd _ lat _ lon [ 1 ] Ġ= Ġz Ġ* ĠMath . sin ( theta ) ĊĠĠĠĠĠĠĠ Ġreturn Ġgd _ lat _ lon ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ é«ĺ å¾· åľ° åĽ¾ å®ļä½į ç»ı çº ¬ åº¦ è½¬ çĻ¾ åº¦ ç»ı çº ¬ åº¦ ĊĠĠĠĠ Ġ* Ġ@ param Ġgd _ lon ĊĠĠĠĠ Ġ* Ġ@ param Ġgd _ lat ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġao De To B aid u ( gd _ lon : ĠDouble , Ġgd _ lat : ĠDouble ): ĠDouble Array Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbd _ lat _ lon Ġ= ĠDouble Array ( 2 ) ĊĠĠĠĠĠĠĠ Ġval ĠPI Ġ= Ġ 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 4 Ġ* Ġ 3 0 0 0 . 0 Ġ/ Ġ 1 8 0 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġz Ġ= ĠMath . sqrt ( gd _ lon Ġ* Ġgd _ lon Ġ+ Ġgd _ lat Ġ* Ġgd _ lat ) Ġ+ Ġ 0 . 0 0 0 0 2 Ġ* ĠMath . sin ( gd _ lat Ġ* ĠPI ) ĊĠĠĠĠĠĠĠ Ġval Ġtheta Ġ= ĠMath . atan 2 ( gd _ lat , Ġgd _ lon ) Ġ+ Ġ 0 . 0 0 0 0 0 3 Ġ* ĠMath . cos ( gd _ lon Ġ* ĠPI ) ĊĠĠĠĠĠĠĠ Ġbd _ lat _ lon [ 0 ] Ġ= Ġz Ġ* ĠMath . cos ( theta ) Ġ+ Ġ 0 . 0 0 6 5 ĊĠĠĠĠĠĠĠ Ġbd _ lat _ lon [ 1 ] Ġ= Ġz Ġ* ĠMath . sin ( theta ) Ġ+ Ġ 0 . 0 0 6 ĊĠĠĠĠĠĠĠ Ġreturn Ġbd _ lat _ lon ĊĠĠĠ Ġ} Ċ }