google_timeline 3.0.0 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 79bca21c7c5cade83439fad1a612a7a2ad5c6b37
4
- data.tar.gz: 87c267b661f0c73d1c5241021603af35e8224c19
2
+ SHA256:
3
+ metadata.gz: c9fa7981df3255508785d544b14739e227115fb5425a64d93fc63064c977f07c
4
+ data.tar.gz: bc08999b93f880f176fda873c36bf3af71f0126e4aba406c6a3de81e28922a3a
5
5
  SHA512:
6
- metadata.gz: 458ac93c2d848bfafb889cf714ecaf9348a8d336a196d2805ae7a40ef23f39d7edff66041715a233ef7194a06e49d1028325191004a306658c0fa1df6081723b
7
- data.tar.gz: eaee71721d172b45da033e918f316ebfa08b09846ac24292789e3a0c36c2b33faa1274412d28583c5811b19a4d95b075a7948a79f2517f7af517ffda54d1f855
6
+ metadata.gz: 7182477493fc9d62118ad9dc8ac740573ece00279029c386af74c6b2d878eab65e7321d7307a0ae702577982c414124681dec3c9fb8263e449aab5d0dc00a486
7
+ data.tar.gz: dac7ba61237e62c0a612a61ec37dcc61ef546401f6c72b0e48f592f1ef3374751b905fedb074efad4566bee5e4731afe65cda0604b9cf29beb788457233bb257
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ nbproject/
2
+ *.gem
data/README.md CHANGED
@@ -22,35 +22,33 @@ Or install it yourself as:
22
22
  ## Usage
23
23
  You can get the google map url by passing the KML file. i.e.
24
24
  ```ruby
25
- GoogleTimeline.get_timeline("/home/surajit/Downloads/history-2016-04-03.kml")
25
+ GoogleTimeline.get_timeline("/home/surajit/Downloads/history-2016-04-03.kml", {:google_api_key=>"abcxyz"})
26
26
  ```
27
- => {:date=>#<Date: 2016-04-03 ((2457482j,0s,0n),+0s,2299161j)>, :url=>"http://maps.googleapis.com/maps/api/staticmap?scale=2&path=enc:}lvmA{f}xMVYi@GGAAAf@n@i@o@IDCKIC@?A?f@LLBFDaAYKCRFCAybCWn[vjEmXbbJk_CjhFhR`UjbGfwJrhN~cIjtJfoO~tI|{KxuIvdMz|E~~Sz[jzC~~JfpQ`zCznPljHdzSziJpyPliL|oLgfAfcJxtCnfI????tIjhDvI|wO~tC|hMsR`nAksAzhNyoAh`Im@G_@rzLweKnyMgaJb{IxvE~`G|wHztChCsq@imFy]ayEohBaDarHnwBirC??aWbS`WcS||BwvA`jLgyLhAyzGtpCaaVjSakMumDcmMbk@cxMshCa{MxuAcrIc|@avF}nD}fDamIgpFmxJe~NszEucRczBosHgsEyxQelEg_EEj@fAeFmLybCeqB_dFk{BqvNcpGqiHwlEygEa{Fg_LezHoiKswL}zGt_Bc|FfjCahSmbBmkI_|DbK&size=600x600&sensor=false"}
27
+ => {:date=>#<Date: 2016-04-03 ((2457482j,0s,0n),+0s,2299161j)>, :url=>"http://maps.googleapis.com/maps/api/staticmap?scale=2&path=enc:}lvmA{f}xMVYi@GGAAAf@n@i@o@IDCKIC@?A?f@LLBFDaAYKCRFCAybCWn[vjEmXbbJk_CjhFhR`UjbGfwJrhN~cIjtJfoO~tI|{KxuIvdMz|E~~Sz[jzC~~JfpQ`zCznPljHdzSziJpyPliL|oLgfAfcJxtCnfI????tIjhDvI|wO~tC|hMsR`nAksAzhNyoAh`Im@G_@rzLweKnyMgaJb{IxvE~`G|wHztChCsq@imFy]ayEohBaDarHnwBirC??aWbS`WcS||BwvA`jLgyLhAyzGtpCaaVjSakMumDcmMbk@cxMshCa{MxuAcrIc|@avF}nD}fDamIgpFmxJe~NszEucRczBosHgsEyxQelEg_EEj@fAeFmLybCeqB_dFk{BqvNcpGqiHwlEygEa{Fg_LezHoiKswL}zGt_Bc|FfjCahSmbBmkI_|DbK&size=600x600&sensor=false&key=abcxyz"}
28
28
 
29
29
  or, you can pass the **{:distance => true}** parameter to get the total distance covered for the day
30
30
  ```ruby
31
- GoogleTimeline.get_timeline("/home/surajit/Downloads/history-2016-04-03.kml", {:distance=>true})
31
+ GoogleTimeline.get_timeline("/home/surajit/Downloads/history-2016-04-03.kml", {:distance=>true}, {:google_api_key=>"abcxyz"})
32
32
  ```
33
- => {:date=>#<Date: 2016-04-03 ((2457482j,0s,0n),+0s,2299161j)>, :url=>"http://maps.googleapis.com/maps/api/staticmap?scale=2&path=enc:}lvmA{f}xMVYi@GGAAAf@n@i@o@IDCKIC@?A?f@LLBFDaAYKCRFCAybCWn[vjEmXbbJk_CjhFhR`UjbGfwJrhN~cIjtJfoO~tI|{KxuIvdMz|E~~Sz[jzC~~JfpQ`zCznPljHdzSziJpyPliL|oLgfAfcJxtCnfI????tIjhDvI|wO~tC|hMsR`nAksAzhNyoAh`Im@G_@rzLweKnyMgaJb{IxvE~`G|wHztChCsq@imFy]ayEohBaDarHnwBirC??aWbS`WcS||BwvA`jLgyLhAyzGtpCaaVjSakMumDcmMbk@cxMshCa{MxuAcrIc|@avF}nD}fDamIgpFmxJe~NszEucRczBosHgsEyxQelEg_EEj@fAeFmLybCeqB_dFk{BqvNcpGqiHwlEygEa{Fg_LezHoiKswL}zGt_Bc|FfjCahSmbBmkI_|DbK&size=600x600&sensor=false", :distance=>{:value=>520181.2852676145, :unit=>"meter"}}
33
+ => {:date=>#<Date: 2016-04-03 ((2457482j,0s,0n),+0s,2299161j)>, :url=>"http://maps.googleapis.com/maps/api/staticmap?scale=2&path=enc:}lvmA{f}xMVYi@GGAAAf@n@i@o@IDCKIC@?A?f@LLBFDaAYKCRFCAybCWn[vjEmXbbJk_CjhFhR`UjbGfwJrhN~cIjtJfoO~tI|{KxuIvdMz|E~~Sz[jzC~~JfpQ`zCznPljHdzSziJpyPliL|oLgfAfcJxtCnfI????tIjhDvI|wO~tC|hMsR`nAksAzhNyoAh`Im@G_@rzLweKnyMgaJb{IxvE~`G|wHztChCsq@imFy]ayEohBaDarHnwBirC??aWbS`WcS||BwvA`jLgyLhAyzGtpCaaVjSakMumDcmMbk@cxMshCa{MxuAcrIc|@avF}nD}fDamIgpFmxJe~NszEucRczBosHgsEyxQelEg_EEj@fAeFmLybCeqB_dFk{BqvNcpGqiHwlEygEa{Fg_LezHoiKswL}zGt_Bc|FfjCahSmbBmkI_|DbK&size=600x600&sensor=false&key=abcxyz", :distance=>{:value=>520181.2852676145, :unit=>"meter"}}
34
34
 
35
35
  or, you can pass the **{:home_coordinate => [x,y]}** parameter to define your home location.
36
36
  ```ruby
37
- GoogleTimeline.get_timeline("/home/surajit/Downloads/history-2016-04-03.kml", {:distance=>true}, {:home_coordinate=>[0,0]})
37
+ GoogleTimeline.get_timeline("/home/surajit/Downloads/history-2016-04-03.kml", {:distance=>true}, {:home_coordinate=>[0,0]}, {:google_api_key=>"abcxyz"})
38
38
  ```
39
- => {:date=>#<Date: 2016-04-03 ((2457482j,0s,0n),+0s,2299161j)>, :url=>"http://maps.googleapis.com/maps/api/staticmap?scale=2&path=enc:}lvmA{f}xMVYi@GGAAAf@n@i@o@IDCKIC@?A?f@LLBFDaAYKCRFCAybCWn[vjEmXbbJk_CjhFhR`UjbGfwJrhN~cIjtJfoO~tI|{KxuIvdMz|E~~Sz[jzC~~JfpQ`zCznPljHdzSziJpyPliL|oLgfAfcJxtCnfI????tIjhDvI|wO~tC|hMsR`nAksAzhNyoAh`Im@G_@rzLweKnyMgaJb{IxvE~`G|wHztChCsq@imFy]ayEohBaDarHnwBirC??aWbS`WcS||BwvA`jLgyLhAyzGtpCaaVjSakMumDcmMbk@cxMshCa{MxuAcrIc|@avF}nD}fDamIgpFmxJe~NszEucRczBosHgsEyxQelEg_EEj@fAeFmLybCeqB_dFk{BqvNcpGqiHwlEygEa{Fg_LezHoiKswL}zGt_Bc|FfjCahSmbBmkI_|DbK&size=600x600&sensor=false", :distance=>{:value=>520181.2852676145, :unit=>"meter"}}
39
+ => {:date=>#<Date: 2016-04-03 ((2457482j,0s,0n),+0s,2299161j)>, :url=>"http://maps.googleapis.com/maps/api/staticmap?scale=2&path=enc:}lvmA{f}xMVYi@GGAAAf@n@i@o@IDCKIC@?A?f@LLBFDaAYKCRFCAybCWn[vjEmXbbJk_CjhFhR`UjbGfwJrhN~cIjtJfoO~tI|{KxuIvdMz|E~~Sz[jzC~~JfpQ`zCznPljHdzSziJpyPliL|oLgfAfcJxtCnfI????tIjhDvI|wO~tC|hMsR`nAksAzhNyoAh`Im@G_@rzLweKnyMgaJb{IxvE~`G|wHztChCsq@imFy]ayEohBaDarHnwBirC??aWbS`WcS||BwvA`jLgyLhAyzGtpCaaVjSakMumDcmMbk@cxMshCa{MxuAcrIc|@avF}nD}fDamIgpFmxJe~NszEucRczBosHgsEyxQelEg_EEj@fAeFmLybCeqB_dFk{BqvNcpGqiHwlEygEa{Fg_LezHoiKswL}zGt_Bc|FfjCahSmbBmkI_|DbK&size=600x600&sensor=false&key=abcxyz", :distance=>{:value=>520181.2852676145, :unit=>"meter"}}
40
40
 
41
41
  or, you can pass the **{:places => true}** parameter to get all the location you travelled for the day.
42
42
  ```ruby
43
- GoogleTimeline.get_timeline("/home/surajit/Downloads/history-2016-04-03.kml", {:distance=>true}, {:home_coordinate=>[0,0]})
44
- GoogleTimeline.get_timeline(v, {:distance=>true}, {:places=>true})
43
+ GoogleTimeline.get_timeline("/home/surajit/Downloads/history-2016-04-03.kml", {:distance=>true}, {:home_coordinate=>[0,0]}, {:places=>true}, {:google_api_key=>"abcxyz"})
45
44
  ```
46
- => {:date=>Sun, 30 Sep 2018, :url=>"http://maps.googleapis.com/maps/api/staticmap?scale=2&path=enc:mjvmAcg}xM????bALv%5cm@hAs_@|CrBlCl@`AIrCa@HEJCzCq@nBk@vAw@%5cIxAMHBDBbBz@|Ax@bBGJWBq@?QXmB^aE??iAiNhAhN??OtD]`BWbBzAr@ZFf@FB?B@jD`@|C@~Gh@`@FtBVJ@jDd@r@JBA????????AB?@AD???Cd@NpDd@fALtAFH?`E?`DHvEHZ?zALJ@J@fCb@v@N`JfAJAtB@fCEzC[HO@iAAMLCn@xCdBvAD@dAg@JGpHoFpLyIzMuJvAgA|GaFZStLuIpCuBfNuJ??pCbCfEbFbAvFR`ArAvAL@pJ`@|CbAa@nEI|@UjC?HAHi@|A}Dd@}C`AYNo@h@ADQzBAhAzEjBB?hACzCG|Ah@?r@EdC?Ng@tEOhEUrCJJnATLBN@~B%5c~Dp@dD`@ZHjAb@H?fBB~EuC????????yEnCgA@fM|PnYpQ~p@oSbyDeXnJ_]fx@kJ|_Anx@vAs@bCeA`B_AvDtBzExKdB~Dzc@cR`a@qVniJgjEdf@hWlgBpcBwHzC????????_uAeaBsiDxwAwnFzqA{]bVid@bY_GyP}E}J{z@oe@g}@w[aUl]svAp`@mvBfKaTpVG???A?????????u@L{KpBIAG?C?A?eBCoFW{@?g@BqCFU@cFFwIJgEt@IBo@FC@eBZ}FhA}Gw@o@I{Cc@O?kDK}@Ci@GGAOCGAa@AYCG?aCW}Co@kBqCC_AOaBKAG?iEo@mDWkAgBDs@HuA@AeBgAsGwA}Ey@m@I_BmAGKeDsE_BsBwBaBoAw@k@[MGgDoByC}@oBe@oA]IAIAICICGCwBk@eAe@pA}@h@a@tAeAJKhDqCeCv@mA|@kB~AGDOP?AAAC@?@SLmDJgAyAiC?YAo@BEDCGiC@yAIFNcBGIAG@gFo@oDw@i@Qs@IM?iEM_DIkDGQ?aCCK?cE[kDg@_Fu@oASyDa@KAK?wLo@yCa@SAUGAAPoBb@_Cx@oB????????a@Lwp@lZ{H`OkRnEwp@cIet@YqGOnEb@????????iE?wR?eVPgFdwA{ElWya@|Fs`@x^wFxDeVpSsTbYc`BcAox@xw@r@V????????RiE}FoHiEw@gETi@xG????????zA@tCiHuN`ZeKyBwY_G_Cb@gArB??zCvM{CwM??UrCe@jCyA~D????????rDsMtCqCJ}@tFem@????fNyGHN????????MShHxOg@hGOj@lLpFjl@xQdJpV|l@xEn_AgDvc@sJb[mLvN_IlXeP`QyEj`@aU`i@eW|q@ua@p@{Z|Ey`@~Tg]dS}k@?a@????&size=600x600&sensor=false", :distance=>{:value=>86940.98791306592, :unit=>"meter"}, :places=>["Home", "Sai Meadows", "Vijay Krishna Mansion", "Muthayala Maduvu", "WhitePearl ವೈಟ್ ಪರ್ಲ್", "Foradian", "Garuda Mall", "CENTRAL", "Tasker Town", "Max Fashion", "Mani's Dum Biryani", "Home"]}
45
+ => {:date=>Sun, 30 Sep 2018, :url=>"http://maps.googleapis.com/maps/api/staticmap?scale=2&path=enc:mjvmAcg}xM????bALv%5cm@hAs_@|CrBlCl@`AIrCa@HEJCzCq@nBk@vAw@%5cIxAMHBDBbBz@|Ax@bBGJWBq@?QXmB^aE??iAiNhAhN??OtD]`BWbBzAr@ZFf@FB?B@jD`@|C@~Gh@`@FtBVJ@jDd@r@JBA????????AB?@AD???Cd@NpDd@fALtAFH?`E?`DHvEHZ?zALJ@J@fCb@v@N`JfAJAtB@fCEzC[HO@iAAMLCn@xCdBvAD@dAg@JGpHoFpLyIzMuJvAgA|GaFZStLuIpCuBfNuJ??pCbCfEbFbAvFR`ArAvAL@pJ`@|CbAa@nEI|@UjC?HAHi@|A}Dd@}C`AYNo@h@ADQzBAhAzEjBB?hACzCG|Ah@?r@EdC?Ng@tEOhEUrCJJnATLBN@~B%5c~Dp@dD`@ZHjAb@H?fBB~EuC????????yEnCgA@fM|PnYpQ~p@oSbyDeXnJ_]fx@kJ|_Anx@vAs@bCeA`B_AvDtBzExKdB~Dzc@cR`a@qVniJgjEdf@hWlgBpcBwHzC????????_uAeaBsiDxwAwnFzqA{]bVid@bY_GyP}E}J{z@oe@g}@w[aUl]svAp`@mvBfKaTpVG???A?????????u@L{KpBIAG?C?A?eBCoFW{@?g@BqCFU@cFFwIJgEt@IBo@FC@eBZ}FhA}Gw@o@I{Cc@O?kDK}@Ci@GGAOCGAa@AYCG?aCW}Co@kBqCC_AOaBKAG?iEo@mDWkAgBDs@HuA@AeBgAsGwA}Ey@m@I_BmAGKeDsE_BsBwBaBoAw@k@[MGgDoByC}@oBe@oA]IAIAICICGCwBk@eAe@pA}@h@a@tAeAJKhDqCeCv@mA|@kB~AGDOP?AAAC@?@SLmDJgAyAiC?YAo@BEDCGiC@yAIFNcBGIAG@gFo@oDw@i@Qs@IM?iEM_DIkDGQ?aCCK?cE[kDg@_Fu@oASyDa@KAK?wLo@yCa@SAUGAAPoBb@_Cx@oB????????a@Lwp@lZ{H`OkRnEwp@cIet@YqGOnEb@????????iE?wR?eVPgFdwA{ElWya@|Fs`@x^wFxDeVpSsTbYc`BcAox@xw@r@V????????RiE}FoHiEw@gETi@xG????????zA@tCiHuN`ZeKyBwY_G_Cb@gArB??zCvM{CwM??UrCe@jCyA~D????????rDsMtCqCJ}@tFem@????fNyGHN????????MShHxOg@hGOj@lLpFjl@xQdJpV|l@xEn_AgDvc@sJb[mLvN_IlXeP`QyEj`@aU`i@eW|q@ua@p@{Z|Ey`@~Tg]dS}k@?a@????&size=600x600&sensor=false&key=abcxyz", :distance=>{:value=>86940.98791306592, :unit=>"meter"}, :places=>["Home", "Sai Meadows", "Vijay Krishna Mansion", "Muthayala Maduvu", "WhitePearl ವೈಟ್ ಪರ್ಲ್", "Foradian", "Garuda Mall", "CENTRAL", "Tasker Town", "Max Fashion", "Mani's Dum Biryani", "Home"]}
47
46
 
48
47
  or, you can pass the **{:transport_mode => true}** parameter to get all the Transport Mode you used for the day.
49
48
  ```ruby
50
- GoogleTimeline.get_timeline("/home/surajit/Downloads/history-2016-04-03.kml", {:distance=>true}, {:home_coordinate=>[0,0]})
51
- GoogleTimeline.get_timeline(v, {:distance=>true}, {:places=>true}, {:transport_mode=>true})
49
+ GoogleTimeline.get_timeline("/home/surajit/Downloads/history-2016-04-03.kml", {:distance=>true}, {:home_coordinate=>[0,0]}, {:places=>true}, {:transport_mode=>true}, {:google_api_key=>"abcxyz"})
52
50
  ```
53
- => {:date=>Sun, 30 Sep 2018, :url=>"http://maps.googleapis.com/maps/api/staticmap?scale=2&path=enc:mjvmAcg}xM????bALv%5cm@hAs_@|CrBlCl@`AIrCa@HEJCzCq@nBk@vAw@%5cIxAMHBDBbBz@|Ax@bBGJWBq@?QXmB^aE??iAiNhAhN??OtD]`BWbBzAr@ZFf@FB?B@jD`@|C@~Gh@`@FtBVJ@jDd@r@JBA????????AB?@AD???Cd@NpDd@fALtAFH?`E?`DHvEHZ?zALJ@J@fCb@v@N`JfAJAtB@fCEzC[HO@iAAMLCn@xCdBvAD@dAg@JGpHoFpLyIzMuJvAgA|GaFZStLuIpCuBfNuJ??pCbCfEbFbAvFR`ArAvAL@pJ`@|CbAa@nEI|@UjC?HAHi@|A}Dd@}C`AYNo@h@ADQzBAhAzEjBB?hACzCG|Ah@?r@EdC?Ng@tEOhEUrCJJnATLBN@~B%5c~Dp@dD`@ZHjAb@H?fBB~EuC????????yEnCgA@fM|PnYpQ~p@oSbyDeXnJ_]fx@kJ|_Anx@vAs@bCeA`B_AvDtBzExKdB~Dzc@cR`a@qVniJgjEdf@hWlgBpcBwHzC????????_uAeaBsiDxwAwnFzqA{]bVid@bY_GyP}E}J{z@oe@g}@w[aUl]svAp`@mvBfKaTpVG???A?????????u@L{KpBIAG?C?A?eBCoFW{@?g@BqCFU@cFFwIJgEt@IBo@FC@eBZ}FhA}Gw@o@I{Cc@O?kDK}@Ci@GGAOCGAa@AYCG?aCW}Co@kBqCC_AOaBKAG?iEo@mDWkAgBDs@HuA@AeBgAsGwA}Ey@m@I_BmAGKeDsE_BsBwBaBoAw@k@[MGgDoByC}@oBe@oA]IAIAICICGCwBk@eAe@pA}@h@a@tAeAJKhDqCeCv@mA|@kB~AGDOP?AAAC@?@SLmDJgAyAiC?YAo@BEDCGiC@yAIFNcBGIAG@gFo@oDw@i@Qs@IM?iEM_DIkDGQ?aCCK?cE[kDg@_Fu@oASyDa@KAK?wLo@yCa@SAUGAAPoBb@_Cx@oB????????a@Lwp@lZ{H`OkRnEwp@cIet@YqGOnEb@????????iE?wR?eVPgFdwA{ElWya@|Fs`@x^wFxDeVpSsTbYc`BcAox@xw@r@V????????RiE}FoHiEw@gETi@xG????????zA@tCiHuN`ZeKyBwY_G_Cb@gArB??zCvM{CwM??UrCe@jCyA~D????????rDsMtCqCJ}@tFem@????fNyGHN????????MShHxOg@hGOj@lLpFjl@xQdJpV|l@xEn_AgDvc@sJb[mLvN_IlXeP`QyEj`@aU`i@eW|q@ua@p@{Z|Ey`@~Tg]dS}k@?a@????&size=600x600&sensor=false", :distance=>{:value=>86940.98791306592, :unit=>"meter"}, *:transport_mode=>{"Driving"=>67675, "Motorcycling"=>4157, "Walking"=>2216, "Moving"=>11810}*, :places=>["Home", "Sai Meadows", "Vijay Krishna Mansion", "Muthayala Maduvu", "WhitePearl ವೈಟ್ ಪರ್ಲ್", "Foradian", "Garuda Mall", "CENTRAL", "Tasker Town", "Max Fashion", "Mani's Dum Biryani", "Home"]}
51
+ => {:date=>Sun, 30 Sep 2018, :url=>"http://maps.googleapis.com/maps/api/staticmap?scale=2&path=enc:mjvmAcg}xM????bALv%5cm@hAs_@|CrBlCl@`AIrCa@HEJCzCq@nBk@vAw@%5cIxAMHBDBbBz@|Ax@bBGJWBq@?QXmB^aE??iAiNhAhN??OtD]`BWbBzAr@ZFf@FB?B@jD`@|C@~Gh@`@FtBVJ@jDd@r@JBA????????AB?@AD???Cd@NpDd@fALtAFH?`E?`DHvEHZ?zALJ@J@fCb@v@N`JfAJAtB@fCEzC[HO@iAAMLCn@xCdBvAD@dAg@JGpHoFpLyIzMuJvAgA|GaFZStLuIpCuBfNuJ??pCbCfEbFbAvFR`ArAvAL@pJ`@|CbAa@nEI|@UjC?HAHi@|A}Dd@}C`AYNo@h@ADQzBAhAzEjBB?hACzCG|Ah@?r@EdC?Ng@tEOhEUrCJJnATLBN@~B%5c~Dp@dD`@ZHjAb@H?fBB~EuC????????yEnCgA@fM|PnYpQ~p@oSbyDeXnJ_]fx@kJ|_Anx@vAs@bCeA`B_AvDtBzExKdB~Dzc@cR`a@qVniJgjEdf@hWlgBpcBwHzC????????_uAeaBsiDxwAwnFzqA{]bVid@bY_GyP}E}J{z@oe@g}@w[aUl]svAp`@mvBfKaTpVG???A?????????u@L{KpBIAG?C?A?eBCoFW{@?g@BqCFU@cFFwIJgEt@IBo@FC@eBZ}FhA}Gw@o@I{Cc@O?kDK}@Ci@GGAOCGAa@AYCG?aCW}Co@kBqCC_AOaBKAG?iEo@mDWkAgBDs@HuA@AeBgAsGwA}Ey@m@I_BmAGKeDsE_BsBwBaBoAw@k@[MGgDoByC}@oBe@oA]IAIAICICGCwBk@eAe@pA}@h@a@tAeAJKhDqCeCv@mA|@kB~AGDOP?AAAC@?@SLmDJgAyAiC?YAo@BEDCGiC@yAIFNcBGIAG@gFo@oDw@i@Qs@IM?iEM_DIkDGQ?aCCK?cE[kDg@_Fu@oASyDa@KAK?wLo@yCa@SAUGAAPoBb@_Cx@oB????????a@Lwp@lZ{H`OkRnEwp@cIet@YqGOnEb@????????iE?wR?eVPgFdwA{ElWya@|Fs`@x^wFxDeVpSsTbYc`BcAox@xw@r@V????????RiE}FoHiEw@gETi@xG????????zA@tCiHuN`ZeKyBwY_G_Cb@gArB??zCvM{CwM??UrCe@jCyA~D????????rDsMtCqCJ}@tFem@????fNyGHN????????MShHxOg@hGOj@lLpFjl@xQdJpV|l@xEn_AgDvc@sJb[mLvN_IlXeP`QyEj`@aU`i@eW|q@ua@p@{Z|Ey`@~Tg]dS}k@?a@????&size=600x600&sensor=false&key=abcxyz", :distance=>{:value=>86940.98791306592, :unit=>"meter"}, *:transport_mode=>{"Driving"=>67675, "Motorcycling"=>4157, "Walking"=>2216, "Moving"=>11810}*, :places=>["Home", "Sai Meadows", "Vijay Krishna Mansion", "Muthayala Maduvu", "WhitePearl ವೈಟ್ ಪರ್ಲ್", "Foradian", "Garuda Mall", "CENTRAL", "Tasker Town", "Max Fashion", "Mani's Dum Biryani", "Home"]}
54
52
 
55
53
  distance and home_coordinate are optional.
56
54
  distance: To measure the travel distance which will return value in meter
@@ -71,3 +69,10 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/suraji
71
69
  ## License
72
70
 
73
71
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
72
+
73
+
74
+ ## Google API Key [MANDATORY]
75
+
76
+ You need to have a valid google API key in order acess Google Map APIs. Please follow the steps from the below link
77
+ https://developers.google.com/maps/gmp-get-started
78
+
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.require_paths = ["lib"]
30
30
 
31
31
  spec.add_dependency 'polylines', '~> 0'
32
- spec.add_runtime_dependency 'nokogiri', '~> 1.7', '>= 1.7.2'
32
+ spec.add_runtime_dependency 'nokogiri', '~> 1.6.7.2'
33
33
 
34
34
  spec.add_development_dependency "bundler", "~> 1.10"
35
35
  spec.add_development_dependency "rake", "~> 10.0"
@@ -1,14 +1,17 @@
1
1
  class GoogleMapTimeline
2
2
  attr_accessor :home_coordinate
3
3
  attr_accessor :file_path
4
+ attr_accessor :google_api_key
4
5
 
5
- def initialize(file_path, home_coordinate)
6
+ def initialize(file_path, home_coordinate, google_api_key)
6
7
  self.file_path = file_path
7
8
  self.home_coordinate = home_coordinate
9
+ self.google_api_key = google_api_key
8
10
  end
9
11
 
10
12
  def get_timeline_url(args)
11
13
  #initialize flags
14
+ location_str_max_length = 1800
12
15
  overall_distance_flag = false
13
16
  transport_mode_flag = false
14
17
  places_flag = false
@@ -32,9 +35,9 @@ class GoogleMapTimeline
32
35
  if coordinates.is_a?(Array)
33
36
  location_str = polylines_encoding(coordinates)
34
37
 
35
- if location_str.length > 1900
38
+ if location_str.length > location_str_max_length
36
39
  coordinates_dup = coordinates.dup
37
- while location_str.length > 1900 do
40
+ while location_str.length > location_str_max_length do
38
41
  coordinates_dup = coordinates_dup.values_at(* coordinates_dup.each_index.select {|i| i.even?})
39
42
  location_str = polylines_encoding(coordinates_dup)
40
43
  end
@@ -62,7 +65,7 @@ class GoogleMapTimeline
62
65
 
63
66
  private
64
67
  def location_url(location_str)
65
- "http://maps.googleapis.com/maps/api/staticmap?scale=2&path=enc:#{location_str}&size=600x600&sensor=false"
68
+ "http://maps.googleapis.com/maps/api/staticmap?scale=2&path=enc:#{location_str}&size=600x600&sensor=false&key=#{self.google_api_key}"
66
69
  end
67
70
 
68
71
  def polylines_encoding(str)
@@ -1,3 +1,3 @@
1
1
  module GoogleTimeline
2
- VERSION = "3.0.0"
2
+ VERSION = "4.0.2"
3
3
  end
@@ -7,10 +7,15 @@ require 'polylines'
7
7
  module GoogleTimeline
8
8
  def self.get_timeline(file_path,*args)
9
9
  home_coordinate = [[22.6520393, 88.407874]]
10
+ google_api_key = ""
10
11
  if (args.empty?)==false and (args.select{|a| a.is_a?(Hash) and a[:home_coordinate]}.first).nil? == false
11
12
  home_coordinate = [args.select{|a| a.is_a?(Hash) and a[:home_coordinate]}.first[:home_coordinate]]
12
13
  end
13
- google_timeline = GoogleMapTimeline.new(file_path,home_coordinate)
14
+ if (args.empty?)==false and (args.select{|a| a.is_a?(Hash) and a[:google_api_key]}.first).nil? == false
15
+ google_api_key = [args.select{|a| a.is_a?(Hash) and a[:google_api_key]}.first[:google_api_key]].first
16
+ end
17
+
18
+ google_timeline = GoogleMapTimeline.new(file_path,home_coordinate, google_api_key)
14
19
  google_timeline.get_timeline_url(args)
15
20
  end
16
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google_timeline
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 4.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Surajit Khan
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-01 00:00:00.000000000 Z
11
+ date: 2021-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: polylines
@@ -30,20 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.7'
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: 1.7.2
33
+ version: 1.6.7.2
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
38
  - - "~>"
42
39
  - !ruby/object:Gem::Version
43
- version: '1.7'
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 1.7.2
40
+ version: 1.6.7.2
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: bundler
49
43
  requirement: !ruby/object:Gem::Requirement
@@ -93,6 +87,7 @@ executables: []
93
87
  extensions: []
94
88
  extra_rdoc_files: []
95
89
  files:
90
+ - ".gitignore"
96
91
  - CODE_OF_CONDUCT.md
97
92
  - Gemfile
98
93
  - Gemfile.lock
@@ -123,8 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
118
  - !ruby/object:Gem::Version
124
119
  version: '0'
125
120
  requirements: []
126
- rubyforge_project:
127
- rubygems_version: 2.5.1
121
+ rubygems_version: 3.0.3
128
122
  signing_key:
129
123
  specification_version: 4
130
124
  summary: Integrate Map-Timeline (Google)