emcconville / google-map-polyline-encoding-tool Goto Github PK
View Code? Open in Web Editor NEWA simple class to handle polyline-encoding for Google Maps
License: Other
A simple class to handle polyline-encoding for Google Maps
License: Other
Hi, in your examples you're using double quoted strings, but so, some chars in encoded string (that may be composed of any ASCII char) have different meaning and will lead to wrong decoding, for example the following string (attaching a txt file due to formatting issues in GitHub):
test.txt
is decoded with single quoted string syntax but is decoded differently with double quoted string syntax. Also, the last point is missing in both cases, as you can check with https://developers.google.com/maps/documentation/utilities/polylineutility?hl=en
See pull request #4
I haven't started using this yet, but based on the read me I am wondering what the logic was behind this:
array(8) {
[0] =>
double(41.90374)
[1] =>
double(-87.66729)
...
Why return an array not structured the same as the input (e.g. [[x,y],[x,y]])?
test.txt
The last point is missing in both cases, as you can check with https://developers.google.com/maps/documentation/utilities/polylineutility?hl=en
When extending Polyline
, subclass constructors gets redirected to parent::__call
method.
class Foo extends Poyline { }
$foo = new Foo;
PHP Deprecated: Polyline::polyline deprecated. in .../src/Polyline.php on line 131
Use round method instead of floor method.
Encode and decode (48.000006, 2.000004) to verify. You get (48.00001, 2).
https://developers.google.com/maps/documentation/utilities/polylineutility
I have error while decode the string:
"ke~BgjakScYen@_Ucf@wLs@{Ij@cIbAyAGmAe@u@qA]iBs@yLaA{C{A_CsCmAyEu@gEa@iC?wBYoBsAuEaGq@eBe@yB_@gCaDgJ]iB@iB^cBz@oA
AeDf@eE_ETcAl@At@o@rEkCxBwBdBkCbE_KcWgl@SgPjZid@
s@}y@kPiT_JsFkNw@{HeBeL}DiIuIgKmOsPeRgIeHoFoFwMwKsKgIuFuD_W}P}IyGqNaKaEwCcKoGsRiLwG}DsEuBeMyHqBwA{GgGaGqFyGoGqG}GsOaPmD_DmG_FwK}H}FaE_FaDiBsB_BoDqCiFr@oDFkEJoGLiHX{HT}Fb@gENkGZaFn@iEBuDhAgC
BsFhA{EjCiFpDeE|BkDBkHzEaMnAgI|AsMzCyKvBsHdBsJnDuGCmIdD}IbDqIfD_HjD{IDcGjBiI~AsF
CeIzAeGAqGx@sHOkGmwvlO|ialSzuvlOaxalSjyiBl}vlO{dblSryiBvkwlO}nblSbxiBrwwlOkyblShviBddxlOg_clSdtiBljxlO}gclSxsiBzqxlOovclSBpc|lOkoglSpajui~Bt~xlOggdlSxvi~BnnylO}vdlSvwi~Bp|ylOacelSjyi~BpgzlO}qelSnzi~BttzlO{bflSf|i~Bzd{lOchflS~|i~Bxg{lOsnflSh_j~Bxn{lOeuflSx~i~Bdv{lOkzflS~}i~Bj{{lO__glS~}i~Bf}{lOcfglSv
jBdn|lOoyglSdBdw}lOquhlSzvij~Bdz|lOeahlSh~i~Bdd}lO_ihlS~{i~B
o}lOaohlS|xiBr}lO}{hlS|uiBhflOcilSrti~Bnm~lOadilSrqi~Bnu~lOwgilSpmi~Bp__mOwjilSdgi~Bjj_mOikilSj_i~B~u_mO{kilShth~Bp``mOetilShjh~Bts
mOi{ilSn_hBxbamOabjlSnwgBnamOqfjlSBvjemO_pllSt{erg~BxyamOsnjlSvkg~BjibmO{vjlSfdg~BhwbmOy|jlSp~f~BzccmO}fklS|wf~BtwcmO}mklSfnf~BpbdmOuvklSjjf~BzpdmOc_llSxdf~Bj}dmOmgllSv
fBtyemOeyllShueBvifmOiamlSlneBhwfmO{fmlSheBbcgmOekmlSvbeBdmgmOsmmlS~|dBhvgmO}rmlShvdB~_hmOkymlS|qdBrihmOk_nlSvndBfqhmOcdnlSbmdBvyhmOmhnlSjidBbaimOwonlShfdBbkimO{wnlSrcdBbvimOoolSv
d~BajmOciolSl~c~B~ljmOepolSb{c~BrxjmOayolSpvc~BjgkmOodplStpc~BdykmOiqplShjc~BjmlmOq|plS|bc~BrammOigqlS|yb~B|tmmOktqlSjqb~BtmnmOadrlSteb~BthomOmlrlSjza~BhwomOa{rlSbta~BfopmO_bslSxja~BhxpmOggslStha~Bt~pmOgkslSpga~B|cqmOmnslShfa~BlkqmOmrslS~aa~BrqqmOyzslSx_a~Bz|qmOabtlS||
~BjhrmOiitlStx~BrsrmOiotlStt
~B~rmOiwtlSfp
~B|fsmOu_ulSjo~BfnsmOihulSlp
~BrusmOgoulStq~Bx{smOwvulSlr
~BldtmO{ulShq~B|jtmOg_vlS
o~BdutmOwavlS
i~Bl}tmOqbvlShc
BfcumOcdvlSh_BliumOofvlSty_f{mO_nwlSpf{}Bpp{mOklwlSl|z}Bbx{mOgjwlSfsz}Bza|mOohwlSjgz}Bpk|mOggwlS|{y}Bds|mOwgwlSBbqumOkjvlSjt_}Bh_xmOaawlSdz}}BdnxmOoewlSzq}}Bp{xmOqgwlS|h}}BvfymOaiwlSx_}}BruymO}iwlSlr|}BBfcvmO{kvlSbf_}BfpwmOozvlSdcBnqvmOmovlSjy}BxawmOmtvlSrlhzmOgmwlSz
|}Br|zmOqnwlSro{}Bsy}Bf
}mOehwlSnfy}B|h}mOukwlSfx}BjamOunwlShix}BbpmOonwlSp}w}Bjp_nOkrwlSb}v}BqnO}{wlSj_v}BplcnOw{wlSjns}B
linOotslStnm}BxnhnO}aplStdj}BntdnO{plSllj}BnrdnOs}olSjlj}BbrdnOe{olSnjj}BppdnOmxolSrij}BlmdnO{wolSij}BxjdnOkuolSmOuhjlSlj}BlhdnOgdjlS|kj}Bhj~mOqejlS|xj}Bxl~mOufjlSvwj}Bpn~mOmgjlSbwj}Blp~mOeijlS~uj}Bhs~mOkjjlSztj}Bbv~mOujjlSfsj}Bfw~mOcjjlSlrj}B
wrj}Bvu~mOgfjlS|qj}Bjq~mOgfjlSzsj}Blp~mOwdjlSxtj}Bxn~mOkcjlS|tj}Bvm~mOwajlSrtj}Bdl~mO}_jlSptj}Bxi~mOa_jlSbuj}Brg~mO{~ilSlvj}Bne~mOq~ilSjxj}Bfd~mOyrilShyj}Brw}mOmsilSdzj}Bny}mOatilS|xj}Bnz}mOkuilSpxj}Bb_~mOowilSfuj}B|a~mO}xilSptj}Btd~mOcyilSfsj}Bze~mOcyilSfrj}Bvf~mOsxilSjqj}Bvf~mOqxilSzpj}Bhh~mOyvilSfoj}Bnf~mOssilShoj}B~a~mOmqilSrpj}Bn_~mOupilS|pj}Bz}}mOgoilSxqj}B
|}mOcnilSdrj}Bhz}mOililSxrj}Bdy}mOgkilSbrj}Bbw}mOokilSbsj}Bxu}mO{jilSttj}Blt}mOqjilSluj}Br}mOyhilSpvj}Brl}mOogilSd{j}Bvj}mOu|flSv{j}BzqzmOc|flSxik}BqzmOm{flSbik}BtrzmOa{flSvgk}BxzmOsyflSzl}B~{tmO_iblS~tm}BjjrmOujo}BylqmOBt@?b@Sd@UZe@Xg@Be@Eq@e@kAiAWUSEe@@gb\aAd@QNO\Yt@]t@YT@jc@?u@Sy@Q[@U@Ly@N[NGPEXAf@Gak}BbwzmO}xflSnak}BptzmOmyflSjck}BhqzmOazflSbgk}BpqzmOuyflSngk}BxnzmO{wflSzik}BblzmO_wflSvjk}BzizmOsnflSblk}Bz}ymOozelSvok}B~yymOkydlSn_k}BxexmOyxclSprk}Bv}vmOc{clS
zk}Bb_vmO_rclSBEXO^i@n@]Te@Fe@C_@Oq@g@UGq@Dy@FSEWO_@]WMQAMFELAjCEr@EXSXUH[Ii@i@c@q@W_@SQOGQ?]DWLKTA
@C|@gd@S^WR_@HuA@kADu@Ja@JYT]d@[p@Yn@[l@W@_@L[Dm@DWPe@\YNu@DiA@s@EWMUYKk@Mw@a@oAo@kAu@}@k@OUCk@Hc@Li@^oApAeAz@qAz@qAl@_@Tm@b@Y^Y~@Qt@GnADxAR~An@jBn@fA^
@x@h@z@^n@AZOtA{AfEmFz@oAV]RWLGJ?NFPZTh@VRj@BxAKv@Ux@c@j@q@j@[@Il@@dDZz@PZNRVDRB\Gf@M\WVo@XcAPs@T[ZcAdAs@rAW\e@^u@f@o@ZSZMb@A^Bh@P^\T
DJt@CrAMp@Ar@Gp@Sl@Yh@I@EPBHHDP?\Ol@Wf@MV?LLRJVD\Ah@IRURi@Bc@My@{@{@m@q@W}@GaANoA^m@JaAHi@Ji@ViA|@cAl@_@^_@b@a@^a@PaAb@g@\m@d@c@VWBUMUa@U_@]_@_@Ea@L{@Nm@Ik@]k@Uk@EcAEg@Ls@f@i@t@Mf@El@Fd@HPVHd@Df@BZHf@\p@f@j@Zh@Jj@RXZTTPb@DXJFPAf@G\?LJHVBh@C\Kj@M
@ud@[TU?]WO[WUc@Go@B_A?q@C]GSFOLG\A^Gh@IPQVMPK^?ZKVSL]NgAVSLGPI^WvAWd@c@j@]Vc@FSEOUK[@k@FeAEe@Ya@e@g@Mo@Bi@Lu@Ny@Jw@FeAEm@Oe@[a@@su?YLWXMXE^A^Dn@D^@FAJGLKN[XMXI^MTUHSASG[Ka@Ia@?QDGNAZD@HVNR^X\\Nd@H^Bd@?f@Kn@Ub@YZYT[RKLIPCXAVCTMJMNIVE^Cr@Bd@Fb@HPPJXFr@J
@f^?f@A^B@J^THLFX@TCVCTKR[T]Ra@Li@Jc@P[TOVQ^_@\{@r@mAv@cAn@k@d@WZKXATBTLZRb@Lb@Fh@Hp@At@El@Qn@S
@y\WJYFY?]QY]Yc@[u@Sa@[a@@[[M]C_@Di@Ps@\k@Pq@R]NURQTSZG@B
@LV^f@Z^`@Zf@Ph@Jb@@@A^ITOTULUF[JQJKLGPGXIRU\QTSRWT]R[L[TUTMZE
@cb@IXKZMVG@Kh@Mh@MXOTMLI@IGCSC[K[MMOEOBIFENE\EXGNKBIAMIUMSOQGMASDOJSXSVc@\c@^SXKd@Ch@Eh@Kl@Oj@M
@QB@WZUPSBoB_LB}Bw@cAyJIy]gDqZvDuH~@{QbPcDfT_a@jK{TzKqZha@{YtnC_@hQmFrn@}CxW_GzTjEnJAlBz@a@pCtA~AnDJ?|DtI_@TrEbKdAhAp@VbA?pDoBJT}F
Dr@vBiCrAdEhL}UfMuEwKsBfA{@eBcFbCh@nBrBzFdClKjBzIvKzWFnYj@|Om@pGa@tA{F
LW~AKzA@rErA@^Ud@OVCtm@g@xAxqBBhCEXGR}LnLKBeONSnAE|@b\f@dCBtA?zAClAOfBu@dDgCdBsEZmDjBqCrFeEfEwHvBwIBwGNaLzDiMzE_BFyLlVif@jf@"
The decode array is missing 1 last element. Please help.
This is a reference ticket to track what was completed in v1.2.4.
$id$
) to track version, but still would prefer git describe
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.