google-maps 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,37 @@
1
+ require File.expand_path('../api', __FILE__)
2
+
3
+ module Google
4
+ module Maps
5
+
6
+ class Route
7
+ attr_accessor :from, :to, :language
8
+
9
+ def initialize(from, to, language=:en)
10
+ @from, @to, @language = from, to, language
11
+ end
12
+
13
+ def method_missing(name, *args, &block)
14
+ if route.legs.first.key?(name)
15
+ route.legs.first.send(name)
16
+ else
17
+ super
18
+ end
19
+ end
20
+
21
+ def origin_latlong
22
+ "#{self.start_location.lat},#{self.start_location.lng}"
23
+ end
24
+
25
+ def destination_latlong
26
+ "#{self.end_location.lat},#{self.end_location.lng}"
27
+ end
28
+
29
+ private
30
+ def route
31
+ # default to the first returned route (the most efficient one)
32
+ @response ||= API.query(:directions_service, :origin => from, :destination => to, :language => language).routes.first
33
+ end
34
+ end
35
+
36
+ end
37
+ end
@@ -0,0 +1,5 @@
1
+ module Google
2
+ module Maps
3
+ VERSION = "1.0.0"
4
+ end
5
+ end
@@ -0,0 +1,394 @@
1
+ {
2
+ "routes" : [
3
+ {
4
+ "bounds" : {
5
+ "northeast" : {
6
+ "lat" : 52.354970,
7
+ "lng" : 6.187580000000001
8
+ },
9
+ "southwest" : {
10
+ "lat" : 52.16270,
11
+ "lng" : 4.940030
12
+ }
13
+ },
14
+ "copyrights" : "Map data ©2011 Google",
15
+ "legs" : [
16
+ {
17
+ "distance" : {
18
+ "text" : "104 km",
19
+ "value" : 103712
20
+ },
21
+ "duration" : {
22
+ "text" : "1 hour 12 mins",
23
+ "value" : 4337
24
+ },
25
+ "end_address" : "Deventer, The Netherlands",
26
+ "end_location" : {
27
+ "lat" : 52.25441000000001,
28
+ "lng" : 6.160470
29
+ },
30
+ "start_address" : "Science Park, 1098 Amsterdam, The Netherlands",
31
+ "start_location" : {
32
+ "lat" : 52.35445000000001,
33
+ "lng" : 4.95420
34
+ },
35
+ "steps" : [
36
+ {
37
+ "distance" : {
38
+ "text" : "0.2 km",
39
+ "value" : 166
40
+ },
41
+ "duration" : {
42
+ "text" : "1 min",
43
+ "value" : 17
44
+ },
45
+ "end_location" : {
46
+ "lat" : 52.354970,
47
+ "lng" : 4.952320
48
+ },
49
+ "html_instructions" : "Head \u003cb\u003ewest\u003c/b\u003e on \u003cb\u003eScience Park\u003c/b\u003e\u003cdiv style=\"font-size:0.9em\"\u003eRestricted usage road\u003c/div\u003e",
50
+ "polyline" : {
51
+ "points" : "inp~Hwrf]AR?F@J@FBF@BHRDHBH@H@F@H?J?F?DADEJKTQ^S^oAtB"
52
+ },
53
+ "start_location" : {
54
+ "lat" : 52.35445000000001,
55
+ "lng" : 4.95420
56
+ },
57
+ "travel_mode" : "DRIVING"
58
+ },
59
+ {
60
+ "distance" : {
61
+ "text" : "0.1 km",
62
+ "value" : 114
63
+ },
64
+ "duration" : {
65
+ "text" : "1 min",
66
+ "value" : 29
67
+ },
68
+ "end_location" : {
69
+ "lat" : 52.354280,
70
+ "lng" : 4.951080
71
+ },
72
+ "html_instructions" : "Turn \u003cb\u003eleft\u003c/b\u003e to stay on \u003cb\u003eScience Park\u003c/b\u003e",
73
+ "polyline" : {
74
+ "points" : "qqp~H_gf]`ApB^v@DPJXT`@"
75
+ },
76
+ "start_location" : {
77
+ "lat" : 52.354970,
78
+ "lng" : 4.952320
79
+ },
80
+ "travel_mode" : "DRIVING"
81
+ },
82
+ {
83
+ "distance" : {
84
+ "text" : "1.0 km",
85
+ "value" : 1045
86
+ },
87
+ "duration" : {
88
+ "text" : "3 mins",
89
+ "value" : 153
90
+ },
91
+ "end_location" : {
92
+ "lat" : 52.347790,
93
+ "lng" : 4.940030
94
+ },
95
+ "html_instructions" : "Continue onto \u003cb\u003eKruislaan\u003c/b\u003e",
96
+ "polyline" : {
97
+ "points" : "gmp~Hg_f]R\\fBfDDJNXDHVd@BFPZLXFJl@jAZl@FH?BVL~@`CXp@p@~AtAjCdCbF|@jBBPn@tAr@nAFNHRHFFDP^P^LPJPf@~@d@`A^`A^v@`@x@f@hAh@hA`@z@^|@BDBFFJFH"
98
+ },
99
+ "start_location" : {
100
+ "lat" : 52.354280,
101
+ "lng" : 4.951080
102
+ },
103
+ "travel_mode" : "DRIVING"
104
+ },
105
+ {
106
+ "distance" : {
107
+ "text" : "1.2 km",
108
+ "value" : 1203
109
+ },
110
+ "duration" : {
111
+ "text" : "2 mins",
112
+ "value" : 117
113
+ },
114
+ "end_location" : {
115
+ "lat" : 52.34012000000001,
116
+ "lng" : 4.952500000000001
117
+ },
118
+ "html_instructions" : "Turn \u003cb\u003eleft\u003c/b\u003e onto \u003cb\u003eMiddenweg/s113\u003c/b\u003e",
119
+ "polyline" : {
120
+ "points" : "udo~Hezc]DKFKzAsCzAsC|GoMzDeHXg@|D}Gj@gArDaHhCeFtAsC@EFKr@}Ar@{AN[DKVg@N]JQHQ"
121
+ },
122
+ "start_location" : {
123
+ "lat" : 52.347790,
124
+ "lng" : 4.940030
125
+ },
126
+ "travel_mode" : "DRIVING"
127
+ },
128
+ {
129
+ "distance" : {
130
+ "text" : "0.8 km",
131
+ "value" : 823
132
+ },
133
+ "duration" : {
134
+ "text" : "2 mins",
135
+ "value" : 92
136
+ },
137
+ "end_location" : {
138
+ "lat" : 52.34650000000001,
139
+ "lng" : 4.958530000000001
140
+ },
141
+ "html_instructions" : "Turn \u003cb\u003eleft\u003c/b\u003e to merge onto \u003cb\u003eA10\u003c/b\u003e toward \u003cb\u003eAmersfoort/Zaanstad/s114/Ring\u003c/b\u003e",
142
+ "polyline" : {
143
+ "points" : "wtm~Hchf]Ya@CEIQKQACi@s@eAqAo@m@k@c@eAs@c@Uw@g@eBqAIIICQAwBqBg@e@WUgL{KkBoB"
144
+ },
145
+ "start_location" : {
146
+ "lat" : 52.34012000000001,
147
+ "lng" : 4.952500000000001
148
+ },
149
+ "travel_mode" : "DRIVING"
150
+ },
151
+ {
152
+ "distance" : {
153
+ "text" : "95.5 km",
154
+ "value" : 95473
155
+ },
156
+ "duration" : {
157
+ "text" : "56 mins",
158
+ "value" : 3332
159
+ },
160
+ "end_location" : {
161
+ "lat" : 52.23430,
162
+ "lng" : 6.18320
163
+ },
164
+ "html_instructions" : "Take exit \u003cb\u003eWatergraafsmeer\u003c/b\u003e to merge onto \u003cb\u003eA1/E231\u003c/b\u003e toward \u003cb\u003eAlmere/Amersfoort\u003c/b\u003e\u003cdiv style=\"font-size:0.9em\"\u003eContinue to follow A1\u003c/div\u003e",
165
+ "polyline" : {
166
+ "points" : "s|n~Hymg]Ym@k@{@c@o@{@_A_AcAq@o@GGWY_@_@OOCEGGEEA?EGGEEGGGEE?AGEEGq@s@gAgA}@wAg@iAa@}AUwAOcBG{A?aBFcBRaBRoA~@}D`DmMJ[HMbA_EJ]FS@GHU`AkDx@{Cd@yAdC_IlCaIx@iCn@aBn@_B`CmFzBeEtBcDZk@zCaE|CaEn@{@n@y@dCiDdCiDN[X]n@cAP[@Af@}@fE}Hx@eBh@eADKDIf@oAnB{EfCsHpBiHxBkIlBaJhAqFn@cElAqIrAsLRsCTsCHmA?KDe@Ds@@S@S\\wKZwK@yCBwC@yB@yBCwB?C?_CAqBAqBAqAAoAAM?OAcC?yBAyS\\m]FwGHuGBaCJw`AD_WFsI?u@N{Dj@eI|@_H^kC`GoZ~@aEl@}BnBgIrAcFnDmOp@eCt@uDNw@Lk@Jk@h@gCH_@@AF]VwATcABSDQ@CLm@R}@P}@\\uBhByJpCkP|C{QnC_N|AwIzAwIhBcJhBeJ`@sB^sBZ{AZyA|A}HdG}[|@yE|@yEdCqMtAmHDQDWdKii@Lo@Hg@H_@bEuTFa@Fa@|BsK|BsKnAgF`C_JpCoKnCoK`BeG`BeGpA_FpAaFf@kBd@iB~AaGzAkG|@uEv@iFb@uDR{BRuCN}D@eA@gA?E@oA?A?m@DeDCkBAqAAY?iBCqAAsAImMKmM?w@?_@AS?eAMkOMkO?a@?E?YAmAAkAIqMA{EFiGZcKTiD`@cFd@kEl@}E~@aGdAaFrAwFbCaI`BkE|AoDxBgEtBiDtB{C|EoFpLiKTS?AJGfB}AdPkNvE{Df@a@VSh@g@j@g@|NmMpBqAhBcAtBaApBk@|AYdAUfEWfC?b@Ab@Ab@C^CnHCzHSvAQDAB?l@KRCZE`DcAlCoATMb@W@AXQfBwA`BuApCgDlCcE|AyCnEiKdDwInCsGnCmGdGgNbGiNnCoGnCoGDOTm@Rc@N_@^y@^y@hCuFx@oAhAeB|B{CxBsB|@q@|CkBNIpBw@lCq@vB[~AIrB?bOD~BOnCc@p@OLE@?NEjDyAhRqJhB_AhB_Ap@_@r@a@z@c@ZODALCLKzFiDNK@?NKvB_BvB_BnBkBjDkDlBaC|AwBn@y@v@kArDaGtCuFFKBGLU~@_BtGcNvGcNb@eAd@cAjDsHjDsHj@uAHQ?ADIN]nAsCdCsFx@iBrCuFrAaCpCwER]Va@nCkEnCkEZe@@AXc@P]lCeEjCgEPYNW~BaEzDyHhCgGnCsHhC{ItAsF`BaIp@qDrB_OVkCFo@D]@KBSJgAlAgQPmJNiGj@gk@BmABQZq`@V{ZX_OR{G\\qHJgBdA}NxAqOr@eGPoAj@iEj@iENmAPkA@[rKqz@BWDW@E@OF[n@uEXmBBOtA}KDY?ABQzAkMh@qEj@sEnC}UrFqh@fEuc@tAyMtAyMr@_Ht@_HpE}b@rE}b@|Iaz@fAoLh@yHh@}J@S@Y?ABa@Bk@@S@S@c@VeE|Beb@R_Dd@uH\\wED[He@Ba@d@wFv@iHViBZeC`BwJtBuK|C_MnBwGzAqEDQJUnBmFrAaD`CkF|C{FhCwEjGyJ~DcGFSLUBEFMFOfF_IhDoFhDoFzA}BxA_CLSR[@?T[HMv@kAt@iAjIkMnAsBlPgWPWPWhDoF`M{QzDwFnCiEHMDGBEFIJO|DgG|DeG|BoDXe@jTw\\~DyGT]P]NYR]Tc@|D}H|DoJtCqHdEeLFS@CDKDI@ERm@\\_A\\aAfDgJfDgJhBuFzAoFvAcHl@_Ez@_JZcGJoCJqCvBwr@@M@_@@[tCa`AvCa`At@wTd@eOb@oMR}GDkAb@wNb@uNbF{`B`@aQN}M?oQUiWAy@?Y?e@MqOIkHG}CO_GEOIsC]qK_AoQc@uH_@mFUkC}AmUaAqMmAcPyAiSsAsR_A}LCo@aAoPk@cJq@eMs@gPCc@?CCi@?AAe@EcAGoAM}Dk@{SQ_IAc@Ae@e@{TCuBMqMW}o@GcKEcKSeOScOAk@?i@C}AAY?EA_@C{AOiIQkIo@mWOaFcAa[_@aKm@oNo@mMk@eL}AkXy@sM}@_N_AoMeA}L]wCOkA]eCYgBYeBSmASmAES?ACO_BsI}@iE_C{KmOqq@sHs\\k@eCmOyq@aHc[u@wDuAoGwAqGmEqRmEqRQy@?CQu@eJub@aE_Ti@_DU{A?ESuAyBkPwAuLY{BAKY{CwA}P}@sNK}BCg@Cc@I}Bq@gREoA}CciAs@aVsBwm@c@oLw@ySmCer@Ca@g@wLi@wLMmCMmCUuEYeGMuCGw@KkCc@wJe@iJsCoi@[iGcAqQ_@iGyCog@MyBMyBMgBKeBQyC?AGy@OwBIqAIqAgAqPeAqPgBoWUiCw@cJa@sEa@wD?Ac@wDMiAg@qEe@uDaBcMsCkRu@aG{@cIYcDImAKoAYoGScJ?a@A[CyAAoDD_EB}BHcENsETqEXeER}BZ{C`@mDf@_En@yD\\iBp@iDt@cDx@}CfAuDhAiDtBsFJWBGNa@`@y@HQVk@bAwBfBcDdBaDP]?AR]n@mAn@mAdGcLhDcGzCyFpFeKnC{F~BoFp@{A`BqEdA}Ch@iBRu@J_@fA_Ep@mCfA_F~@uE~ByNl@mDtBqRz@wM|@iUlDanAz@iTrA_[rA}ZJkCDeBh@uKV}FlBc`@nAcUbEur@`AkO`AiOTgDTeDBi@Di@@WB_@Dk@BYHiADc@Bc@rAyQtAyQj@gHDe@?AFo@Fs@x@wKXuDXwDnBuVL{A@ILcBlAyOV_Cx@_Hx@_HbC}NvBsJ~D_OhE_O`AmEt@eDTiATgAfAwFRwAdAcHd@wD^wDX{CVmDRcDXsFLyDDuABeB@S?WD_BBoH?}DEiDCoCK}CEqB[_HMcB?KOoBSuC{@_J]cDOy@kAuHeA{FScAq@{CaAyDa@}Ao@cCeAeDgAeDOe@Qe@AC]_AUm@EIi@aBk@_B_CmGaEqLgDcMgBwIOy@Mu@Ms@O{@cAiGwMqaAa@yCa@yCM_AAAMcAy@_Gw@aGWqBWqB}Foa@Ke@uDkS}D{O[cASq@IYIWUy@Y}@yN{e@eAiDe@{AuCoJsCoJiAyDkAyDCG{Jq\\_@eAIWSo@{GsToBcIMe@c@aBMa@WcAWaAy@eDwBcLk@yDo@}DM{@Ea@WmBE_@]mC{Sc{AQqA?CU_BuHwj@uHwj@Ik@SsAcBgMeBeMeAqHgAqHmFuXcGeVaC_IaC}HwA_FaG}RsAmE}AsHU_A{@qFa@_DwAsOMoA?AMsAIy@Gw@mBgSqAuLo@_Fo@_EIg@CQa@cCoBgKQq@gHaYwCqJyCsJuJ}[uJ}[c@wA?A_@gAaDiKgDqLyBoJeAoF}CwRuDwVG]?EGc@mB_MmBaMi@yDi@sDcBmLeBkLUaBCMUwAkBwLm@oFW{Bg@aF[cESwC_@oIQ{FEgB?SAUCmA?U"
167
+ },
168
+ "start_location" : {
169
+ "lat" : 52.34650000000001,
170
+ "lng" : 4.958530000000001
171
+ },
172
+ "travel_mode" : "DRIVING"
173
+ },
174
+ {
175
+ "distance" : {
176
+ "text" : "0.6 km",
177
+ "value" : 553
178
+ },
179
+ "duration" : {
180
+ "text" : "1 min",
181
+ "value" : 29
182
+ },
183
+ "end_location" : {
184
+ "lat" : 52.232590,
185
+ "lng" : 6.185210000000001
186
+ },
187
+ "html_instructions" : "Take exit \u003cb\u003e23-Deventer\u003c/b\u003e toward \u003cb\u003eZutphen/N348\u003c/b\u003e",
188
+ "polyline" : {
189
+ "points" : "k_y}H_tvd@BUSqNAyD@QBk@Lk@RYXW^MX@TN\\b@^bAxBvG\\fA"
190
+ },
191
+ "start_location" : {
192
+ "lat" : 52.23430,
193
+ "lng" : 6.18320
194
+ },
195
+ "travel_mode" : "DRIVING"
196
+ },
197
+ {
198
+ "distance" : {
199
+ "text" : "0.8 km",
200
+ "value" : 763
201
+ },
202
+ "duration" : {
203
+ "text" : "1 min",
204
+ "value" : 89
205
+ },
206
+ "end_location" : {
207
+ "lat" : 52.23809000000001,
208
+ "lng" : 6.178520000000001
209
+ },
210
+ "html_instructions" : "Turn \u003cb\u003eright\u003c/b\u003e onto \u003cb\u003eDeventerweg\u003c/b\u003e",
211
+ "polyline" : {
212
+ "points" : "utx}Hq`wd@]d@{BzC{DdFc@f@sBhCiAvAiAvAi@t@i@t@UXUX{BtC{BtCi@p@g@p@"
213
+ },
214
+ "start_location" : {
215
+ "lat" : 52.232590,
216
+ "lng" : 6.185210000000001
217
+ },
218
+ "travel_mode" : "DRIVING"
219
+ },
220
+ {
221
+ "distance" : {
222
+ "text" : "0.4 km",
223
+ "value" : 370
224
+ },
225
+ "duration" : {
226
+ "text" : "1 min",
227
+ "value" : 52
228
+ },
229
+ "end_location" : {
230
+ "lat" : 52.240610,
231
+ "lng" : 6.174990
232
+ },
233
+ "html_instructions" : "Continue onto \u003cb\u003eZutphenseweg\u003c/b\u003e",
234
+ "polyline" : {
235
+ "points" : "awy}Hwvud@uAdBsAdBW\\W\\KNKNmB~Cm@fAiBpD"
236
+ },
237
+ "start_location" : {
238
+ "lat" : 52.23809000000001,
239
+ "lng" : 6.178520000000001
240
+ },
241
+ "travel_mode" : "DRIVING"
242
+ },
243
+ {
244
+ "distance" : {
245
+ "text" : "1.6 km",
246
+ "value" : 1617
247
+ },
248
+ "duration" : {
249
+ "text" : "3 mins",
250
+ "value" : 178
251
+ },
252
+ "end_location" : {
253
+ "lat" : 52.253540,
254
+ "lng" : 6.180430
255
+ },
256
+ "html_instructions" : "Slight \u003cb\u003eright\u003c/b\u003e onto \u003cb\u003eHanzeweg\u003c/b\u003e",
257
+ "polyline" : {
258
+ "points" : "yfz}Hu`ud@IDC@c@z@cBnDQVUXc@Xc@Da@Ac@Qu@Ws@WGCEAQGuEgBo@Um@S}I_DQEYAqACcAAs@?I?iA?_@Ai@ISKYMGCGEw@q@_@e@o@oAa@_AcAsCy@aC]}@c@{@e@g@KIIIaAu@eA_@uBq@kEuA{@[]MICKC"
259
+ },
260
+ "start_location" : {
261
+ "lat" : 52.240610,
262
+ "lng" : 6.174990
263
+ },
264
+ "travel_mode" : "DRIVING"
265
+ },
266
+ {
267
+ "distance" : {
268
+ "text" : "0.8 km",
269
+ "value" : 792
270
+ },
271
+ "duration" : {
272
+ "text" : "2 mins",
273
+ "value" : 103
274
+ },
275
+ "end_location" : {
276
+ "lat" : 52.25360000000001,
277
+ "lng" : 6.168840000000001
278
+ },
279
+ "html_instructions" : "Turn \u003cb\u003eleft\u003c/b\u003e onto \u003cb\u003eSnipperlingsdijk/N344\u003c/b\u003e",
280
+ "polyline" : {
281
+ "points" : "sw|}Hubvd@APCPEp@G~@GfBAjA?|A@`C?~BCvJA|BAnDA|BArA@pAT~E@XBpEAxD?R"
282
+ },
283
+ "start_location" : {
284
+ "lat" : 52.253540,
285
+ "lng" : 6.180430
286
+ },
287
+ "travel_mode" : "DRIVING"
288
+ },
289
+ {
290
+ "distance" : {
291
+ "text" : "0.4 km",
292
+ "value" : 438
293
+ },
294
+ "duration" : {
295
+ "text" : "1 min",
296
+ "value" : 39
297
+ },
298
+ "end_location" : {
299
+ "lat" : 52.25562000000001,
300
+ "lng" : 6.163380
301
+ },
302
+ "html_instructions" : "Slight \u003cb\u003eright\u003c/b\u003e onto \u003cb\u003eHandelskade\u003c/b\u003e",
303
+ "polyline" : {
304
+ "points" : "_x|}Hgzsd@CLAZA\\ARETM^e@pAcCfIsDzLOf@EZAV"
305
+ },
306
+ "start_location" : {
307
+ "lat" : 52.25360000000001,
308
+ "lng" : 6.168840000000001
309
+ },
310
+ "travel_mode" : "DRIVING"
311
+ },
312
+ {
313
+ "distance" : {
314
+ "text" : "56 m",
315
+ "value" : 56
316
+ },
317
+ "duration" : {
318
+ "text" : "1 min",
319
+ "value" : 27
320
+ },
321
+ "end_location" : {
322
+ "lat" : 52.255360,
323
+ "lng" : 6.16270
324
+ },
325
+ "html_instructions" : "Continue onto \u003cb\u003eVerzetslaan\u003c/b\u003e",
326
+ "polyline" : {
327
+ "points" : "sd}}Hcxrd@?L@LHZDH`@dA"
328
+ },
329
+ "start_location" : {
330
+ "lat" : 52.25562000000001,
331
+ "lng" : 6.163380
332
+ },
333
+ "travel_mode" : "DRIVING"
334
+ },
335
+ {
336
+ "distance" : {
337
+ "text" : "0.1 km",
338
+ "value" : 116
339
+ },
340
+ "duration" : {
341
+ "text" : "1 min",
342
+ "value" : 30
343
+ },
344
+ "end_location" : {
345
+ "lat" : 52.25595000000001,
346
+ "lng" : 6.161380
347
+ },
348
+ "html_instructions" : "Turn \u003cb\u003eright\u003c/b\u003e onto \u003cb\u003eGedempte Gracht/Leeuwenbrug\u003c/b\u003e",
349
+ "polyline" : {
350
+ "points" : "_c}}H{srd@?TGNMTg@f@KRO`@IZQpA"
351
+ },
352
+ "start_location" : {
353
+ "lat" : 52.255360,
354
+ "lng" : 6.16270
355
+ },
356
+ "travel_mode" : "DRIVING"
357
+ },
358
+ {
359
+ "distance" : {
360
+ "text" : "0.2 km",
361
+ "value" : 183
362
+ },
363
+ "duration" : {
364
+ "text" : "1 min",
365
+ "value" : 50
366
+ },
367
+ "end_location" : {
368
+ "lat" : 52.25441000000001,
369
+ "lng" : 6.160470
370
+ },
371
+ "html_instructions" : "Turn \u003cb\u003eleft\u003c/b\u003e onto \u003cb\u003eKeizerstraat\u003c/b\u003e\u003cdiv style=\"font-size:0.9em\"\u003eDestination will be on the right\u003c/div\u003e",
372
+ "polyline" : {
373
+ "points" : "uf}}Hskrd@HD|@^dCpAJDHDDBDBbAh@"
374
+ },
375
+ "start_location" : {
376
+ "lat" : 52.25595000000001,
377
+ "lng" : 6.161380
378
+ },
379
+ "travel_mode" : "DRIVING"
380
+ }
381
+ ],
382
+ "via_waypoint" : []
383
+ }
384
+ ],
385
+ "overview_polyline" : {
386
+ "points" : "inp~Hwrf]?f@Zz@Dt@iC|ErBtEbInOVLjCrGlIbQ|DdHrHfPbNoWrRu]dLwU_BcCuB_C}HqF[E_RiQkBoBiByC{LiMeBaDw@uDW_EFeEf@qD~@}D`DmMtFaSrJeZ~AaE`CmFlGuKxKyNdJqMfJeQbDaIfCsHjFuRvDsQ|BuOrAsLx@gLbAk[HePQwp@r@}r@PwxAFiKz@aO|AkL`GoZrO_o@jG}ZvLwr@nC_NxDoTjLel@df@whCjIo_@x\\epAzAkGtB_MjAgMZwRoA{fBDeNZcK|AyQlB_NxCyMbCaI~D{JxBgEjFeI|EoFl}@aw@pIwEtG{AfEW~Zc@~Di@`DcAbD}AhGyEpCgDlCcE|AyCdOu^be@kfA`GqIxBsBjFgDpBw@dGmA~AIvRD~BO`F_AjDyAn_@mRzGaE~FkEzGwGrH_KrDaGnF_KlPg]|Vuj@rCuFv`@}o@zDyHhCgGnCsHhC{ItAsFrCsNrB_Ov@aIlAgQ`@wRfBukBX_Op@mQpAeRlCwWdSa}ApG}h@bKo_AfEuc@`b@a_EzFmdAvAmTx@{IjByOvEmWlGwU|EgNtEmKfHsMp`@kn@~n@uaA|RsYvj@{{@tEwHhGwL|DoJpJeW`Le[dEeNdCcNz@_Jf@sK|Zy|Jp@_`@?oQo@au@eAs]cBe[qOyvBcDik@kAuXuB_|@w@mzAm@}d@yA_q@aDu}@yD_t@wDck@cBuQiC{PgH_^}gAg`FiKif@kF_YuGug@sBeVqA}TaAuXqEe`BoEapAcFwnAgJmkBeIiuAaHieAoBaU{BmS{Gef@qBeQiAqQ[kTb@uUbAuOdBiOn@yDnAsGnBaIpC_JtCuHfCoFpc@gy@`IgQfDoJbEmOfCuLlDgTtBqRz@wM|@iUlDanAvHmhB|Dgv@bKebBrQ_`CjC_UbC}NvBsJhK__@vBsJrBiKxA{JdAoJ~AaV^aOEgXm@oPq@uJyAcO{AoJkC{MyEaQ}Pof@gDcMwBqKoBoLy]aiCaEqTwG}Vyw@ojCyGyWwBcLiBsLgv@yuFmFuXcGeVqTit@sBsJ}AqKeIiz@mByMqCkOyHsZkl@_oB_E_Ry^acCmBmQo@{Iq@kQ]w\\D}@`@eAx@e@n@P|@fBvC~Ieh@`q@kH`MgCjFkAjAeABqYgKwII_Bg@_B}AqAoC{CsIiAcBwAiAwNyE]hIIve@XjI@~KIzAaKr\\EnAp@`CiA`Bk@nCrHtD"
387
+ },
388
+ "summary" : "A1",
389
+ "warnings" : [],
390
+ "waypoint_order" : []
391
+ }
392
+ ],
393
+ "status" : "OK"
394
+ }
@@ -0,0 +1,394 @@
1
+ {
2
+ "routes" : [
3
+ {
4
+ "bounds" : {
5
+ "northeast" : {
6
+ "lat" : 52.354970,
7
+ "lng" : 6.187580000000001
8
+ },
9
+ "southwest" : {
10
+ "lat" : 52.16270,
11
+ "lng" : 4.940030
12
+ }
13
+ },
14
+ "copyrights" : "Kaartgegevens ©2011 Google",
15
+ "legs" : [
16
+ {
17
+ "distance" : {
18
+ "text" : "104 km",
19
+ "value" : 103712
20
+ },
21
+ "duration" : {
22
+ "text" : "1 uur 12 min.",
23
+ "value" : 4337
24
+ },
25
+ "end_address" : "Deventer, Nederland",
26
+ "end_location" : {
27
+ "lat" : 52.25441000000001,
28
+ "lng" : 6.160470
29
+ },
30
+ "start_address" : "Science Park, 1098 Amsterdam, Nederland",
31
+ "start_location" : {
32
+ "lat" : 52.35445000000001,
33
+ "lng" : 4.95420
34
+ },
35
+ "steps" : [
36
+ {
37
+ "distance" : {
38
+ "text" : "0,2 km",
39
+ "value" : 166
40
+ },
41
+ "duration" : {
42
+ "text" : "1 min.",
43
+ "value" : 17
44
+ },
45
+ "end_location" : {
46
+ "lat" : 52.354970,
47
+ "lng" : 4.952320
48
+ },
49
+ "html_instructions" : "Vertrek in \u003cb\u003ewestelijke\u003c/b\u003e richting op de \u003cb\u003eScience Park\u003c/b\u003e\u003cdiv style=\"font-size:0.9em\"\u003eWeg voor beperkt verkeer\u003c/div\u003e",
50
+ "polyline" : {
51
+ "points" : "inp~Hwrf]?f@Zz@Dt@iC|E"
52
+ },
53
+ "start_location" : {
54
+ "lat" : 52.35445000000001,
55
+ "lng" : 4.95420
56
+ },
57
+ "travel_mode" : "DRIVING"
58
+ },
59
+ {
60
+ "distance" : {
61
+ "text" : "0,1 km",
62
+ "value" : 114
63
+ },
64
+ "duration" : {
65
+ "text" : "1 min.",
66
+ "value" : 29
67
+ },
68
+ "end_location" : {
69
+ "lat" : 52.354280,
70
+ "lng" : 4.951080
71
+ },
72
+ "html_instructions" : "Sla \u003cb\u003elinksaf\u003c/b\u003e om op de \u003cb\u003eScience Park\u003c/b\u003e te blijven",
73
+ "polyline" : {
74
+ "points" : "qqp~H_gf]hCvF"
75
+ },
76
+ "start_location" : {
77
+ "lat" : 52.354970,
78
+ "lng" : 4.952320
79
+ },
80
+ "travel_mode" : "DRIVING"
81
+ },
82
+ {
83
+ "distance" : {
84
+ "text" : "1,0 km",
85
+ "value" : 1045
86
+ },
87
+ "duration" : {
88
+ "text" : "3 min.",
89
+ "value" : 153
90
+ },
91
+ "end_location" : {
92
+ "lat" : 52.347790,
93
+ "lng" : 4.940030
94
+ },
95
+ "html_instructions" : "Weg vervolgen naar \u003cb\u003eKruislaan\u003c/b\u003e",
96
+ "polyline" : {
97
+ "points" : "gmp~Hg_f]lHlNVLjCrGzEnJpBrE|DdHrHfP"
98
+ },
99
+ "start_location" : {
100
+ "lat" : 52.354280,
101
+ "lng" : 4.951080
102
+ },
103
+ "travel_mode" : "DRIVING"
104
+ },
105
+ {
106
+ "distance" : {
107
+ "text" : "1,2 km",
108
+ "value" : 1203
109
+ },
110
+ "duration" : {
111
+ "text" : "2 min.",
112
+ "value" : 117
113
+ },
114
+ "end_location" : {
115
+ "lat" : 52.34012000000001,
116
+ "lng" : 4.952500000000001
117
+ },
118
+ "html_instructions" : "Sla \u003cb\u003elinksaf \u003c/b\u003e naar de \u003cb\u003eMiddenweg/s113\u003c/b\u003e",
119
+ "polyline" : {
120
+ "points" : "udo~Hezc]bNoWrKkR~EiJdLwU"
121
+ },
122
+ "start_location" : {
123
+ "lat" : 52.347790,
124
+ "lng" : 4.940030
125
+ },
126
+ "travel_mode" : "DRIVING"
127
+ },
128
+ {
129
+ "distance" : {
130
+ "text" : "0,8 km",
131
+ "value" : 823
132
+ },
133
+ "duration" : {
134
+ "text" : "2 min.",
135
+ "value" : 92
136
+ },
137
+ "end_location" : {
138
+ "lat" : 52.34650000000001,
139
+ "lng" : 4.958530000000001
140
+ },
141
+ "html_instructions" : "Sla \u003cb\u003elinksaf\u003c/b\u003e en voeg in op de \u003cb\u003eA10\u003c/b\u003e richting \u003cb\u003eAmersfoort/Zaanstad/s114/Ring\u003c/b\u003e",
142
+ "polyline" : {
143
+ "points" : "wtm~Hchf]_BcCuB_C}HqF[EkUyT"
144
+ },
145
+ "start_location" : {
146
+ "lat" : 52.34012000000001,
147
+ "lng" : 4.952500000000001
148
+ },
149
+ "travel_mode" : "DRIVING"
150
+ },
151
+ {
152
+ "distance" : {
153
+ "text" : "95,5 km",
154
+ "value" : 95473
155
+ },
156
+ "duration" : {
157
+ "text" : "56 min.",
158
+ "value" : 3332
159
+ },
160
+ "end_location" : {
161
+ "lat" : 52.23430,
162
+ "lng" : 6.18320
163
+ },
164
+ "html_instructions" : "Neem afslag \u003cb\u003eWatergraafsmeer\u003c/b\u003e en voeg in op de \u003cb\u003eA1/E231\u003c/b\u003e richting \u003cb\u003eAlmere/Amersfoort\u003c/b\u003e\u003cdiv style=\"font-size:0.9em\"\u003eGa verder op de A1\u003c/div\u003e",
165
+ "polyline" : {
166
+ "points" : "s|n~Hymg]iByC{LiMeBaDw@uDW_EFeERaBRoA`FkStFaSrJeZ~AaE`CmFzBeEpCoExKyNdJqMfJeQbDaIfCsHjFuRvDsQ|BuOrAsLx@gLbAk[HePOcXAsWr@}r@PwxAFiKz@aO|AkL`GoZrO_o@jG}ZvLwr@nC_NxDoTjLel@df@whCjIo_@x\\epAzAkGtB_MjAgMN}DJyLoA{fBDeNZcKv@mKd@kElB_NxCyMbCaI~D{JxBgEjFeI|EoFl}@aw@zEuCtBaAtG{AfEWbQOzHS~Di@`DcAbD}A~@k@hEmDpCgDlCcE|AyCdOu^x^a{@hEiJ`GqIxBsBjFgDpBw@lCq@vB[~AIvRD~BO`F_AjDyAn_@mRzGaE~FkEzGwGrH_KrDaGnF_KlPg]|Vuj@rCuFxFwJzSq\\`DsFzDyHhCgGnCsHhC{ItAsFrCsNrB_Ov@aIlAgQ`@wRr@gn@r@m|@X_Op@mQpAeRlCwWdPcpA~A}KpG}h@bKo_AfEuc@x_@qqDfAoLh@yHpEsz@vAmTx@{IjByOvEmW|C_MnBwG|EgNtEmKfHsMjM}Rh@mAzP_X~n@uaA|RsYvj@{{@tEwHhGwLrIaT|Ryi@hBuFzAoFvAcHl@_Ez@_JZcGh[iaK`@aQN}M?oQo@au@eAs]cBe[qOyvBcDik@kAuXy@yY{@ea@QgQe@ehAm@}d@yA_q@sAcb@mAqZyD_t@wDck@cBuQiC{PiByJ}DeR{j@efCeO}q@{Kcf@iKif@kF_YuGug@sBeVqA}TaAuXqEe`BoEapAcFwnAqCim@uEc}@eIiuAaHieAoBaU{BmSgCyRsCkRqBeQo@aIYoG[kTb@uUbAuOdBiOn@yDnAsGnBaIpC_JtCuHfCoFpc@gy@`IgQfDoJbEmOfCuLlDgTtBqRz@wM|@iUlDanAvHmhB|Dgv@bEur@dE{o@lQs~BjC_UbC}NvBsJhK__@vBsJrBiK~BsPpAaOl@wKRoGJqFBmN[iQmAuSyAcOuDoTeEwP}CqJeNc`@gDcMwBqKoBoL{UqfB}Foa@aEqT}D{OyAaFyw@ojCyGyWwBcLiBsLgv@yuFmFuXcGeVqTit@sBsJ}AqKsFsl@qAuLoC}QoBgKyHsZcg@maBgDqL_E_R_QyhAyLgy@mBmQo@{I_@oI]qN"
167
+ },
168
+ "start_location" : {
169
+ "lat" : 52.34650000000001,
170
+ "lng" : 4.958530000000001
171
+ },
172
+ "travel_mode" : "DRIVING"
173
+ },
174
+ {
175
+ "distance" : {
176
+ "text" : "0,6 km",
177
+ "value" : 553
178
+ },
179
+ "duration" : {
180
+ "text" : "1 min.",
181
+ "value" : 29
182
+ },
183
+ "end_location" : {
184
+ "lat" : 52.232590,
185
+ "lng" : 6.185210000000001
186
+ },
187
+ "html_instructions" : "Neem afslag \u003cb\u003e23-Deventer\u003c/b\u003e richting \u003cb\u003eZutphen/N348\u003c/b\u003e",
188
+ "polyline" : {
189
+ "points" : "k_y}H_tvd@QaURiBl@q@^MX@r@r@vDbL"
190
+ },
191
+ "start_location" : {
192
+ "lat" : 52.23430,
193
+ "lng" : 6.18320
194
+ },
195
+ "travel_mode" : "DRIVING"
196
+ },
197
+ {
198
+ "distance" : {
199
+ "text" : "0,8 km",
200
+ "value" : 763
201
+ },
202
+ "duration" : {
203
+ "text" : "1 min.",
204
+ "value" : 89
205
+ },
206
+ "end_location" : {
207
+ "lat" : 52.23809000000001,
208
+ "lng" : 6.178520000000001
209
+ },
210
+ "html_instructions" : "Sla \u003cb\u003erechtsaf\u003c/b\u003e naar de \u003cb\u003eDeventerweg\u003c/b\u003e",
211
+ "polyline" : {
212
+ "points" : "utx}Hq`wd@ka@xh@"
213
+ },
214
+ "start_location" : {
215
+ "lat" : 52.232590,
216
+ "lng" : 6.185210000000001
217
+ },
218
+ "travel_mode" : "DRIVING"
219
+ },
220
+ {
221
+ "distance" : {
222
+ "text" : "0,4 km",
223
+ "value" : 370
224
+ },
225
+ "duration" : {
226
+ "text" : "1 min.",
227
+ "value" : 52
228
+ },
229
+ "end_location" : {
230
+ "lat" : 52.240610,
231
+ "lng" : 6.174990
232
+ },
233
+ "html_instructions" : "Weg vervolgen naar \u003cb\u003eZutphenseweg\u003c/b\u003e",
234
+ "polyline" : {
235
+ "points" : "awy}Hwvud@qFfHmB~CwCxF"
236
+ },
237
+ "start_location" : {
238
+ "lat" : 52.23809000000001,
239
+ "lng" : 6.178520000000001
240
+ },
241
+ "travel_mode" : "DRIVING"
242
+ },
243
+ {
244
+ "distance" : {
245
+ "text" : "1,6 km",
246
+ "value" : 1617
247
+ },
248
+ "duration" : {
249
+ "text" : "3 min.",
250
+ "value" : 178
251
+ },
252
+ "end_location" : {
253
+ "lat" : 52.253540,
254
+ "lng" : 6.180430
255
+ },
256
+ "html_instructions" : "Flauwe bocht naar \u003cb\u003erechts\u003c/b\u003e naar de \u003cb\u003eHanzeweg\u003c/b\u003e",
257
+ "polyline" : {
258
+ "points" : "yfz}Hu`ud@MFyCbGy@r@c@Da@AqYgKwHGiAK}@c@wAwAqAoC{CsIc@{@e@g@wAiAwNyE"
259
+ },
260
+ "start_location" : {
261
+ "lat" : 52.240610,
262
+ "lng" : 6.174990
263
+ },
264
+ "travel_mode" : "DRIVING"
265
+ },
266
+ {
267
+ "distance" : {
268
+ "text" : "0,8 km",
269
+ "value" : 792
270
+ },
271
+ "duration" : {
272
+ "text" : "2 min.",
273
+ "value" : 103
274
+ },
275
+ "end_location" : {
276
+ "lat" : 52.25360000000001,
277
+ "lng" : 6.168840000000001
278
+ },
279
+ "html_instructions" : "Sla \u003cb\u003elinksaf \u003c/b\u003e naar de \u003cb\u003eSnipperlingsdijk/N344\u003c/b\u003e",
280
+ "polyline" : {
281
+ "points" : "sw|}Hubvd@StCIrDIve@XjI@~K"
282
+ },
283
+ "start_location" : {
284
+ "lat" : 52.253540,
285
+ "lng" : 6.180430
286
+ },
287
+ "travel_mode" : "DRIVING"
288
+ },
289
+ {
290
+ "distance" : {
291
+ "text" : "0,4 km",
292
+ "value" : 438
293
+ },
294
+ "duration" : {
295
+ "text" : "1 min.",
296
+ "value" : 39
297
+ },
298
+ "end_location" : {
299
+ "lat" : 52.25562000000001,
300
+ "lng" : 6.163380
301
+ },
302
+ "html_instructions" : "Flauwe bocht naar \u003cb\u003erechts\u003c/b\u003e naar de \u003cb\u003eHandelskade\u003c/b\u003e",
303
+ "polyline" : {
304
+ "points" : "_x|}Hgzsd@OpB{J|[Gr@"
305
+ },
306
+ "start_location" : {
307
+ "lat" : 52.25360000000001,
308
+ "lng" : 6.168840000000001
309
+ },
310
+ "travel_mode" : "DRIVING"
311
+ },
312
+ {
313
+ "distance" : {
314
+ "text" : "56 m",
315
+ "value" : 56
316
+ },
317
+ "duration" : {
318
+ "text" : "1 min.",
319
+ "value" : 27
320
+ },
321
+ "end_location" : {
322
+ "lat" : 52.255360,
323
+ "lng" : 6.16270
324
+ },
325
+ "html_instructions" : "Weg vervolgen naar \u003cb\u003eVerzetslaan\u003c/b\u003e",
326
+ "polyline" : {
327
+ "points" : "sd}}Hcxrd@Jv@f@nA"
328
+ },
329
+ "start_location" : {
330
+ "lat" : 52.25562000000001,
331
+ "lng" : 6.163380
332
+ },
333
+ "travel_mode" : "DRIVING"
334
+ },
335
+ {
336
+ "distance" : {
337
+ "text" : "0,1 km",
338
+ "value" : 116
339
+ },
340
+ "duration" : {
341
+ "text" : "1 min.",
342
+ "value" : 30
343
+ },
344
+ "end_location" : {
345
+ "lat" : 52.25595000000001,
346
+ "lng" : 6.161380
347
+ },
348
+ "html_instructions" : "Sla \u003cb\u003erechtsaf\u003c/b\u003e naar de \u003cb\u003eGedempte Gracht/Leeuwenbrug\u003c/b\u003e",
349
+ "polyline" : {
350
+ "points" : "_c}}H{srd@Gd@u@|@[t@[lB"
351
+ },
352
+ "start_location" : {
353
+ "lat" : 52.255360,
354
+ "lng" : 6.16270
355
+ },
356
+ "travel_mode" : "DRIVING"
357
+ },
358
+ {
359
+ "distance" : {
360
+ "text" : "0,2 km",
361
+ "value" : 183
362
+ },
363
+ "duration" : {
364
+ "text" : "1 min.",
365
+ "value" : 50
366
+ },
367
+ "end_location" : {
368
+ "lat" : 52.25441000000001,
369
+ "lng" : 6.160470
370
+ },
371
+ "html_instructions" : "Sla \u003cb\u003elinksaf \u003c/b\u003e naar de \u003cb\u003eKeizerstraat\u003c/b\u003e\u003cdiv style=\"font-size:0.9em\"\u003eU vindt uw bestemming rechts\u003c/div\u003e",
372
+ "polyline" : {
373
+ "points" : "uf}}Hskrd@rHtD"
374
+ },
375
+ "start_location" : {
376
+ "lat" : 52.25595000000001,
377
+ "lng" : 6.161380
378
+ },
379
+ "travel_mode" : "DRIVING"
380
+ }
381
+ ],
382
+ "via_waypoint" : []
383
+ }
384
+ ],
385
+ "overview_polyline" : {
386
+ "points" : "inp~Hwrf]?f@Zz@Dt@iC|ErBtEbInOVLjCrGlIbQ|DdHrHfPbNoWrRu]dLwU_BcCuB_C}HqF[E_RiQkBoBiByC{LiMeBaDw@uDW_EFeEf@qD~@}D`DmMtFaSrJeZ~AaE`CmFlGuKxKyNdJqMfJeQbDaIfCsHjFuRvDsQ|BuOrAsLx@gLbAk[HePQwp@r@}r@PwxAFiKz@aO|AkL`GoZrO_o@jG}ZvLwr@nC_NxDoTjLel@df@whCjIo_@x\\epAzAkGtB_MjAgMZwRoA{fBDeNZcK|AyQlB_NxCyMbCaI~D{JxBgEjFeI|EoFl}@aw@pIwEtG{AfEW~Zc@~Di@`DcAbD}AhGyEpCgDlCcE|AyCdOu^be@kfA`GqIxBsBjFgDpBw@dGmA~AIvRD~BO`F_AjDyAn_@mRzGaE~FkEzGwGrH_KrDaGnF_KlPg]|Vuj@rCuFv`@}o@zDyHhCgGnCsHhC{ItAsFrCsNrB_Ov@aIlAgQ`@wRfBukBX_Op@mQpAeRlCwWdSa}ApG}h@bKo_AfEuc@`b@a_EzFmdAvAmTx@{IjByOvEmWlGwU|EgNtEmKfHsMp`@kn@~n@uaA|RsYvj@{{@tEwHhGwL|DoJpJeW`Le[dEeNdCcNz@_Jf@sK|Zy|Jp@_`@?oQo@au@eAs]cBe[qOyvBcDik@kAuXuB_|@w@mzAm@}d@yA_q@aDu}@yD_t@wDck@cBuQiC{PgH_^}gAg`FiKif@kF_YuGug@sBeVqA}TaAuXqEe`BoEapAcFwnAgJmkBeIiuAaHieAoBaU{BmS{Gef@qBeQiAqQ[kTb@uUbAuOdBiOn@yDnAsGnBaIpC_JtCuHfCoFpc@gy@`IgQfDoJbEmOfCuLlDgTtBqRz@wM|@iUlDanAvHmhB|Dgv@bKebBrQ_`CjC_UbC}NvBsJhK__@vBsJrBiKxA{JdAoJ~AaV^aOEgXm@oPq@uJyAcO{AoJkC{MyEaQ}Pof@gDcMwBqKoBoLy]aiCaEqTwG}Vyw@ojCyGyWwBcLiBsLgv@yuFmFuXcGeVqTit@sBsJ}AqKeIiz@mByMqCkOyHsZkl@_oB_E_Ry^acCmBmQo@{Iq@kQ]w\\D}@`@eAx@e@n@P|@fBvC~Ieh@`q@kH`MgCjFkAjAeABqYgKwII_Bg@_B}AqAoC{CsIiAcBwAiAwNyE]hIIve@XjI@~KIzAaKr\\EnAp@`CiA`Bk@nCrHtD"
387
+ },
388
+ "summary" : "A1",
389
+ "warnings" : [],
390
+ "waypoint_order" : []
391
+ }
392
+ ],
393
+ "status" : "OK"
394
+ }