Hi
I have created a plugin that sends a HTTP GET request to Google Maps API. The request is sent correctly, but I am struggling to pull the information I want from the response. My C# code is:
public void SendGoogleMapsRequest_get(requestData requestInfo) { _tracingService.Trace("Beginning HTTP GET request"); //string html = string.Empty; string url = @"maps.googleapis.com/.../json" + "origin=" + requestInfo.origin + "&destination=" + requestInfo.destination + "&waypoints=" + requestInfo.waypoints + "&key=" + requestInfo.key; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Get the stream associated with the response. Stream receiveStream = response.GetResponseStream(); // Pipes the stream to a higher level stream reader with the required encoding format. StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8); _tracingService.Trace("Response stream received."); _tracingService.Trace(readStream.ReadToEnd()); response.Close(); readStream.Close(); }
What I want to do is access all the routes.legs.distance.value from the JSON response, and add the values from the array in another decimal variable. I do not want to use any third party packages like NewtonSoft etc. Can anyone help me, please?
Example of the JSON response:
{ "geocoded_waypoints": [ { "geocoder_status": "OK", "place_id": "ChIJp48JXi5tQUYRnCwaBPdOsCE", "types": [ "street_address" ] }, { "geocoder_status": "OK", "place_id": "ChIJe-jVMThtQUYR8Yh8TqlwNIc", "types": [ "street_address" ] }, { "geocoder_status": "OK", "place_id": "ChIJ8R1ZKYtuQUYRIKwbPYkPpSw", "types": [ "street_address" ] }, { "geocoder_status": "OK", "place_id": "ChIJ9-ayxoluQUYRY7K9XMKAsxk", "types": [ "premise" ] }, { "geocoder_status": "OK", "place_id": "ChIJWy210YluQUYRNQD2cJj2WMk", "types": [ "premise" ] }, { "geocoder_status": "OK", "place_id": "ChIJp48JXi5tQUYRnCwaBPdOsCE", "types": [ "street_address" ] } ], "routes": [ { "bounds": { "northeast": { "lat": 59.9461776, "lng": 10.7622351 }, "southwest": { "lat": 59.89918699999999, "lng": 10.5929849 } }, "copyrights": "Map data ©2018 Google", "legs": [ { "distance": { "text": "2.2 km", "value": 2187 }, "duration": { "text": "5 mins", "value": 300 }, "end_address": "Otto Ruges vei 77A, 1361 Østerås, Norway", "end_location": { "lat": 59.94448469999999, "lng": 10.6069548 }, "start_address": "Prost Holsviks vei 23, 1362 Hosle, Norway", "start_location": { "lat": 59.9340427, "lng": 10.5929849 }, "steps": [ { "distance": { "text": "0.2 km", "value": 151 }, "duration": { "text": "1 min", "value": 26 }, "end_location": { "lat": 59.9352213, "lng": 10.5942906 }, "html_instructions": "Head <b>northeast</b> on <b>Prost Holsviks vei</b> toward <b>Bispeveien</b>", "polyline": { "points": "wzxlJc}s_A{@}AMQIMEGEGGGEGEEAAIIGEGEIIEEKIGGEEECECEECCECECECCAA?CA" }, "start_location": { "lat": 59.9340427, "lng": 10.5929849 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.1 km", "value": 139 }, "duration": { "text": "1 min", "value": 25 }, "end_location": { "lat": 59.9351627, "lng": 10.5967883 }, "html_instructions": "Turn <b>right</b> onto <b>Bispeveien</b>", "maneuver": "turn-right", "polyline": { "points": "cbylJiet_A?_@@W?c@?[?Q@g@?S?UDwE@_A" }, "start_location": { "lat": 59.9352213, "lng": 10.5942906 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.6 km", "value": 621 }, "duration": { "text": "2 mins", "value": 103 }, "end_location": { "lat": 59.9403063, "lng": 10.5979062 }, "html_instructions": "Turn <b>left</b> onto <b>Wih. Wilhelmsens vei</b>", "maneuver": "turn-left", "polyline": { "points": "waylJ}tt_AK?ICIEIGEEEGm@y@ECMSKOIKKOKOKOIKGIIMIKKOIKKKIMKMIKMMKMIIKMIIMOMMKIKMIGIGIGGGIEGEICIEKCKAG?G?I?E?I@E@E@GBEBIDGDGDGDGFIHGDGDGFIFIH]VONIFKHGDMJIFMHKHMFMHGBIDE@EBIBG@EBKBI@IBI@I@M@K@cA?EBMD" }, "start_location": { "lat": 59.9351627, "lng": 10.5967883 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.3 km", "value": 282 }, "duration": { "text": "1 min", "value": 34 }, "end_location": { "lat": 59.94131489999999, "lng": 10.6025386 }, "html_instructions": "Turn <b>right</b> onto <b>Granåsen</b>", "maneuver": "turn-right", "polyline": { "points": "}azlJ}{t_AKg@CQCSCSCSCSESEUCUEWEWCWG]CSCSCSEUCSCQEYCUEWCUCWEWCQE[E[CYEUCYc@sDE_@" }, "start_location": { "lat": 59.9403063, "lng": 10.5979062 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.6 km", "value": 571 }, "duration": { "text": "1 min", "value": 45 }, "end_location": { "lat": 59.9462419, "lng": 10.6020876 }, "html_instructions": "Turn <b>left</b> onto <b>Nordveien</b>", "maneuver": "turn-left", "polyline": { "points": "ehzlJ{xu_AKHCDONONQPQNURQLUNQHSJUHSHQFSFUDSDSBSDQBSDKBOBSBQDUBOBSDC?C@]FSBKBOBQBQBQ@E?M@M?OAQASCOCMCGCICQGUKSKKGMIKIOKIIGEIIIISWIKGIKS" }, "start_location": { "lat": 59.94131489999999, "lng": 10.6025386 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.2 km", "value": 186 }, "duration": { "text": "1 min", "value": 25 }, "end_location": { "lat": 59.9452184, "lng": 10.6046971 }, "html_instructions": "Turn <b>right</b> onto <b>Nordgrenda</b>", "maneuver": "turn-right", "polyline": { "points": "_g{lJavu_Ah@aCDWDQF[DWFUDUDKDQDMDODMBKDKFMFOFMDMDIFMDMFODMFMHO" }, "start_location": { "lat": 59.9462419, "lng": 10.6020876 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.2 km", "value": 185 }, "duration": { "text": "1 min", "value": 24 }, "end_location": { "lat": 59.9448264, "lng": 10.6075812 }, "html_instructions": "Turn <b>left</b> onto <b>Ovenbakken</b>", "maneuver": "turn-left", "polyline": { "points": "s`{lJkfv_AAWAWCSCUCQASCUASAS?WAU?U@S@W@UBU@SDQBQBOBOBIBIDODMHQFQHOFKJOFK" }, "start_location": { "lat": 59.9452184, "lng": 10.6046971 }, "travel_mode": "DRIVING" }, { "distance": { "text": "52 m", "value": 52 }, "duration": { "text": "1 min", "value": 18 }, "end_location": { "lat": 59.94448469999999, "lng": 10.6069548 }, "html_instructions": "Turn <b>right</b> at the 1st cross street onto <b>Otto Ruges vei</b><div style=\'font-size:0.9em\'>Destination will be on the right</div>', "maneuver": "turn-right", "polyline": { "points": "e~zlJkxv_ADHBJDJDJDJDLFJDJFJDHFF" }, "start_location": { "lat": 59.9448264, "lng": 10.6075812 }, "travel_mode": "DRIVING" } ], "traffic_speed_entry": [], "via_waypoint": [] }, { "distance": { "text": "15.5 km", "value": 15530 }, "duration": { "text": "20 mins", "value": 1188 }, "end_address": "Dronning Eufemias gate 16, 0191 Oslo, Norway", "end_location": { "lat": 59.90778280000001, "lng": 10.7585848 }, "start_address": "Otto Ruges vei 77A, 1361 Østerås, Norway", "start_location": { "lat": 59.94448469999999, "lng": 10.6069548 }, "steps": [ { "distance": { "text": "52 m", "value": 52 }, "duration": { "text": "1 min", "value": 8 }, "end_location": { "lat": 59.9448264, "lng": 10.6075812 }, "html_instructions": "Head <b>northeast</b> on <b>Otto Ruges vei</b> toward <b>Ovenbakken</b>", "polyline": { "points": "_|zlJmtv_AGGEIGKEKGKEMEKEKEKCKEI" }, "start_location": { "lat": 59.94448469999999, "lng": 10.6069548 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.2 km", "value": 185 }, "duration": { "text": "1 min", "value": 32 }, "end_location": { "lat": 59.9452184, "lng": 10.6046971 }, "html_instructions": "Turn <b>left</b> onto <b>Ovenbakken</b>", "maneuver": "turn-left", "polyline": { "points": "e~zlJkxv_AGJKNGJINGPIPELENCHCHCNCNCPEPARCTATAVAR?T@T?V@R@RBT@RBPBTBR@V@V" }, "start_location": { "lat": 59.9448264, "lng": 10.6075812 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.2 km", "value": 186 }, "duration": { "text": "1 min", "value": 26 }, "end_location": { "lat": 59.9462419, "lng": 10.6020876 }, "html_instructions": "Turn <b>right</b> onto <b>Nordgrenda</b>", "maneuver": "turn-right", "polyline": { "points": "s`{lJkfv_AINGLELGNELGLEHELGLGNGLEJCJELENELEPEJETGTEVGZEPEVi@`C" }, "start_location": { "lat": 59.9452184, "lng": 10.6046971 }, "travel_mode": "DRIVING" }, { "distance": { "text": "2.0 km", "value": 2025 }, "duration": { "text": "3 mins", "value": 169 }, "end_location": { "lat": 59.9299425, "lng": 10.6137788 }, "html_instructions": "Turn <b>left</b> onto <b>Nordveien</b>", "maneuver": "turn-left", "polyline": { "points": "_g{lJavu_AJRFHHJRVHHHHFDHHNJJHLHJFRJTJPFHBFBLBNBRBP@N@L?LAD?PAPCPCNCJCRC\\GBAB?RENCTCPERCNCJCREPCRERCRETERGPGRITIRKPITOPMTSPOPQNONOBEJIJKLMNQPSNOlAmATQJERI|BeAl@c@ZU`A_Ab@i@d@k@pAiB|A_CDGNYHQDEBEHSvAkCDKDIPc@L[HM`EsId@iARUZq@DKDGRc@Ja@p@wATc@N]NWNWNWVa@Xa@\\c@FIDEJO^a@^_@`@a@^Y^W\\O^M`@Gd@G^EHAhAGjDKhBQTBFCj@[XK" }, "start_location": { "lat": 59.9462419, "lng": 10.6020876 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.4 km", "value": 377 }, "duration": { "text": "1 min", "value": 36 }, "end_location": { "lat": 59.9302208, "lng": 10.6201286 }, "html_instructions": "Turn <b>left</b> onto <b>Bjerkelundsveien</b>", "maneuver": "turn-left", "polyline": { "points": "caxlJc_x_AEUAOEYEw@MiBGgAEe@AKAMIs@AIGg@M{@Ku@Ku@?CIm@Cc@AMACCq@Am@?_A@u@@K@UBYBYBSD]H[Pw@BKFWBOHo@" }, "start_location": { "lat": 59.9299425, "lng": 10.6137788 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.3 km", "value": 277 }, "duration": { "text": "1 min", "value": 27 }, "end_location": { "lat": 59.92795030000001, "lng": 10.6212897 }, "html_instructions": "At the roundabout, take the <b>1st</b> exit onto <b>Vollsveien</b>", "maneuver": "roundabout-right", "polyline": { "points": "{bxlJyfy_A@@@?@?@?@A@A@?@A?C@A?C@C?C?C?C?C?C?C?CLMJKBCJIFEVUb@a@@ABEZWVWVUXSNIRGHCb@@J@`@Bp@LLBVH" }, "start_location": { "lat": 59.9302208, "lng": 10.6201286 }, "travel_mode": "DRIVING" }, { "distance": { "text": "2.2 km", "value": 2170 }, "duration": { "text": "3 mins", "value": 203 }, "end_location": { "lat": 59.9134085, "lng": 10.6340728 }, "html_instructions": "At the roundabout, take the <b>3rd</b> exit and stay on <b>Vollsveien</b>", "maneuver": "roundabout-right", "polyline": { "points": "utwlJany_A@JDHDD@@D@BABADEBK@E?G?MAK?ECIDGBIFGHGP?LAJEJG@?PATAH?R?F?J@V?X?@?D?DA@?HIDIDKB]JeCDoA@o@Dw@BkADq@B_@D]HSJQLKbBY@AHAJC\\ALBHDJFd@~@x@lB^|@Zr@N`@NXXn@NVLLLLPHL?NIBEFOHm@B[@Y?Q?S@c@?Q@c@Bc@F]FKLUTItBUdAEnAN^?VILCJIJMFOHSFUF[He@Fk@D_@@IFi@NkADWF{@Hw@Hk@De@DWDSJe@Ni@L]DGBEFMHMLQPMLIRINEPAR?N@PBTDXFXFRDTBPDJ?J?PGRMROXSRMTMXSNIDCNMLOBEDEFUHe@Fc@Fc@Hi@FWJOHGLEJBPFRJTJNDJ@NAJCJGPKPOLKPINEPELCRALANANERANCLCNE`@Wf@]n@a@`@Yr@g@HMJSJWFUFWDY@UDc@@UDc@Dm@@OBM@IHSDSBO@CFOFSFMJSDIDEBI" }, "start_location": { "lat": 59.92795030000001, "lng": 10.6212897 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.1 km", "value": 105 }, "duration": { "text": "1 min", "value": 13 }, "end_location": { "lat": 59.912516, "lng": 10.6339891 }, "html_instructions": "At the roundabout, take the <b>1st</b> exit and stay on <b>Vollsveien</b>", "maneuver": "roundabout-right", "polyline": { "points": "yytlJ}}{_A@?@?@?@?@?@A@A@A@A?A@A?A@A?A@A?A?AHDJHB@@?B@PHHDLDB@FDLDJBHAHAFEDABCBC" }, "start_location": { "lat": 59.9134085, "lng": 10.6340728 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.1 km", "value": 108 }, "duration": { "text": "1 min", "value": 16 }, "end_location": { "lat": 59.9118503, "lng": 10.6349726 }, "html_instructions": "At the roundabout, take the <b>3rd</b> exit onto <b>Strandveien</b>", "maneuver": "roundabout-right", "polyline": { "points": "gttlJm}{_A@@@B@@@?@@?@@@@@@?@@@?@?@?@?@?@A@?@A@?@C@A@A?A@C@A?C@A@C?C?A@C?C?C?C@EAC?C?C?C?CAA?E?AACDGLSHOL[DKFIFIHKDCBA" }, "start_location": { "lat": 59.912516, "lng": 10.6339891 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.2 km", "value": 172 }, "duration": { "text": "1 min", "value": 18 }, "end_location": { "lat": 59.911995, "lng": 10.6335496 }, "html_instructions": "At the roundabout, take the <b>1st</b> exit onto the <b>E18</b> ramp to <b>Oslo</b><div style=\'font-size:0.9em\'>Partial toll road</div>', "maneuver": "roundabout-right", "polyline": { "points": "aptlJqc|_A?@@@?@@??@@@@@@??@@?@?@B@BDFFHDJ@BFNBFBNDNDPBP@N@N?N@N?B?L?@?XCZATETCFEJC@E@I@EACCICKKOYQW" }, "start_location": { "lat": 59.9118503, "lng": 10.6349726 }, "travel_mode": "DRIVING" }, { "distance": { "text": "2.1 km", "value": 2125 }, "duration": { "text": "2 mins", "value": 106 }, "end_location": { "lat": 59.91905320000001, "lng": 10.6687764 }, "html_instructions": "Merge onto <b>E18</b><div style=\'font-size:0.9em\'>Partial toll road</div>', "maneuver": "merge", "polyline": { "points": "_qtlJuz{_Ak@kCAGCS?ACOAKEa@AIAGEm@Gs@AO[oE[oECSEi@GaAGw@?CGq@Gw@?IE]Cc@Ca@Ea@Ca@E_@AWEWAK?EAECU?ECOAOGi@Ge@CKCYGk@AIm@aFQoAG]Kq@AOM}@OgAE]QuAOgAK{@QgA[uBUkA]eBa@eBAIACa@kB_@mBGa@WiBWqBC[?CEe@EWC_@CSU{BG{@I{@E_@MuAU}BMsAEi@QiBQaBe@qE?COoAEe@UiBUqBQmAAGWmBSaBG_@Ik@UwA[{BSyA[sBYoB]{BYmBGc@MgAIeAIaAC[GgAAe@Ey@AOI}BGkAEa@MiAK}@i@oCQu@EOIY" }, "start_location": { "lat": 59.911995, "lng": 10.6335496 }, "travel_mode": "DRIVING" }, { "distance": { "text": "6.1 km", "value": 6075 }, "duration": { "text": "6 mins", "value": 331 }, "end_location": { "lat": 59.9024046, "lng": 10.7591678 }, "html_instructions": "Keep <b>left</b> to stay on <b>E18</b><div style=\'font-size:0.9em\'>Partial toll road</div>', "maneuver": "keep-left", "polyline": { "points": "a}ulJ{vb`AWo@s@gBc@iAu@_Ck@wBa@mBSaAc@uCS_BKaAIeBE{@CuB@o@?e@@m@@]@C?S@G@W@UHeAT}BJ{@RgBNcAB_@P_BDY@KLgAJ{@Fe@RwAF[TiADK@E@CBKBIPm@^_AVg@h@_Av@oA^s@LYx@kCDMRmAL{@Hw@Bg@HeCBiBAcB?MMaEIkAI}@Ca@AYAQ?OAS?U@S@O@WB[@MBWDSBOBMFSDOHQDKFODGDIJMHKLOVYdBeBl@u@NUT[d@aAJUL]Tu@Pq@Ns@DQN{@D]Fk@J}@D{@LyBB{@FuAH_ABYFa@Ju@N{@XiAXcAh@wAf@eAn@mAp@kAt@mAh@}@d@{@d@w@p@iAp@kAt@kAp@kAJST_@^s@N]Rg@@CFOBGJY^mAt@}CFWVkAPaAD[Hg@RoANoAJeA@KP{BN{BDq@?Ev@yLBg@HqAP}BL{B@MLmBD{@B_@B_@B_@?WBU@s@@g@@uA?U?}@CsAEoAIqAIgAMiAMw@AK_@}BwC{O?ACOC_@E]C]AU?IC_@C_@A_@A_@Aa@Aq@?g@?K?w@?q@@s@?w@?u@?u@?a@?Q@K?c@?C?o@?E@y@AS?E?Y?c@Ac@Ay@Cu@AW?[Cq@Au@AO?A?SAM?SEgBGiB?EAm@?g@Cw@A{@C_AA{@?eA?Y?o@@y@B}@Fy@Bg@Fm@Di@Hg@Fc@Hg@Ji@Je@J_@Ja@BIHSL_@N]L[LYPYNYPWPUPQNOLINOVONKRKTIPKLEPILGPGHELELGLGLGPGBAFCNIHEPKJGNKLKLMLMLKJOLQLQNUDG@CBELULWHSL]HUHWJYFUFUBK@CFWF_@Jg@Jo@BQBKFc@Hm@De@BS@UDi@Bk@@Y?U@[?]@y@?iA?qAA_A?a@?i@?_@Ac@AeK?wA?_@?[@aA?G?I@o@BiAH{CB[JsANmBT{BTsBToBX}BXeCZ{B\\kDl@mEZaBDS\\aBb@}Ah@cB^aAZs@jAwBh@_Av@_AJITWPOz@i@x@k@" }, "start_location": { "lat": 59.91905320000001, "lng": 10.6687764 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.4 km", "value": 431 }, "duration": { "text": "1 min", "value": 25 }, "end_location": { "lat": 59.8991826, "lng": 10.7559475 }, "html_instructions": "Take exit <b>3</b> toward <b>Ring1</b>/<b>Grønlia</b>", "maneuver": "ramp-right", "polyline": { "points": "_urlJykt`A`AGTCP?N?TDPBn@N\\DVL`@TPNn@j@VZLPF`@HZFNFPN\\JPv@rArAxBb@t@@B?B@N?N?d@" }, "start_location": { "lat": 59.9024046, "lng": 10.7591678 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.4 km", "value": 373 }, "duration": { "text": "1 min", "value": 40 }, "end_location": { "lat": 59.90153540000001, "lng": 10.7602796 }, "html_instructions": "At the roundabout, take the <b>1st</b> exit onto <b>Kongshavnveien</b><div style=\'font-size:0.9em\'>Go through 1 roundabout</div>', "maneuver": "roundabout-right", "polyline": { "points": "{`rlJuws`AE@A@CBc@Ey@iA}@uAi@gAg@eAYw@e@aBa@qASg@MWOY?A@A?A?A@A?A?A?A?A?A?A?A?A?A?A?AAA?A?A?AAA?A?AA??AAA?AA?AAA??AEYESs@iC" }, "start_location": { "lat": 59.8991826, "lng": 10.7559475 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.3 km", "value": 275 }, "duration": { "text": "1 min", "value": 33 }, "end_location": { "lat": 59.9037449, "lng": 10.7601503 }, "html_instructions": "At the roundabout, take the <b>1st</b> exit onto the <b>Sentrum</b> ramp", "maneuver": "roundabout-right", "polyline": { "points": "sorlJwrt`A@A@?@C?C@C?C@C?C?C?E?CAC?CAAACAC?AAACAA?AAA@A?C@AB?@A@AB?BA@?B?@_@AKBI@SF]T_@Pc@La@Ha@Bc@B[?]EWGOGUICAC?C?A@ABCF" }, "start_location": { "lat": 59.90153540000001, "lng": 10.7602796 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.3 km", "value": 348 }, "duration": { "text": "1 min", "value": 47 }, "end_location": { "lat": 59.9067109, "lng": 10.7621456 }, "html_instructions": "Merge onto <b>Kong Håkon 5s gate</b>/<b>Rv162</b>", "maneuver": "merge", "polyline": { "points": "k}rlJ}qt`AECqEoCyJ{F" }, "start_location": { "lat": 59.9037449, "lng": 10.7601503 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.2 km", "value": 246 }, "duration": { "text": "1 min", "value": 58 }, "end_location": { "lat": 59.90778280000001, "lng": 10.7585848 }, "html_instructions": "Turn <b>left</b> onto <b>Dronning Eufemias gate</b><div style=\'font-size:0.9em\'>Parts of this road may be closed at certain times or days</div><div style=\'font-size:0.9em\'>Destination will be on the right</div>', "maneuver": "turn-left", "polyline": { "points": "}oslJm~t`A_@QIf@cApG{@tFk@jD" }, "start_location": { "lat": 59.9067109, "lng": 10.7621456 }, "travel_mode": "DRIVING" } ], "traffic_speed_entry": [], "via_waypoint": [] }, { "distance": { "text": "1.2 km", "value": 1153 }, "duration": { "text": "6 mins", "value": 357 }, "end_address": "Skippergata 23, 0154 Oslo, Norway", "end_location": { "lat": 59.9109549, "lng": 10.7480344 }, "start_address": "Dronning Eufemias gate 16, 0191 Oslo, Norway", "start_location": { "lat": 59.90778280000001, "lng": 10.7585848 }, "steps": [ { "distance": { "text": "0.5 km", "value": 495 }, "duration": { "text": "2 mins", "value": 138 }, "end_location": { "lat": 59.9096207, "lng": 10.7505499 }, "html_instructions": "Head <b>northwest</b> on <b>Dronning Eufemias gate</b> toward <b>Stasjonsallmenningen</b><div style=\'font-size:0.9em\'>Parts of this road may be closed at certain times or days</div>', "polyline": { "points": "svslJcht`AUtAuAhJW`BEXM|@uAbJ]rBs@nEO|@[pBATAFAZ?X@^" }, "start_location": { "lat": 59.90778280000001, "lng": 10.7585848 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.2 km", "value": 212 }, "duration": { "text": "1 min", "value": 69 }, "end_location": { "lat": 59.908049, "lng": 10.7485572 }, "html_instructions": "<b>Dronning Eufemias gate</b> turns <b>left</b> and becomes <b>Langkaia</b>", "polyline": { "points": "cbtlJ}ur`ABJDHHFFF~A|AZ@JHLLFFHJHHNTFJHRLZj@zANb@" }, "start_location": { "lat": 59.9096207, "lng": 10.7505499 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.2 km", "value": 167 }, "duration": { "text": "1 min", "value": 55 }, "end_location": { "lat": 59.9086984, "lng": 10.7458653 }, "html_instructions": "Turn <b>right</b> onto <b>Rådhusgata</b>", "maneuver": "turn-right", "polyline": { "points": "ixslJoir`Aa@jCs@jEET]nCGZ" }, "start_location": { "lat": 59.908049, "lng": 10.7485572 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.3 km", "value": 279 }, "duration": { "text": "2 mins", "value": 95 }, "end_location": { "lat": 59.9109549, "lng": 10.7480344 }, "html_instructions": "Turn <b>right</b> onto <b>Skippergata</b><div style=\'font-size:0.9em\'>Destination will be on the left</div>', "maneuver": "turn-right", "polyline": { "points": "k|slJuxq`As@q@w@w@}@{@c@a@EE_A}@s@o@EEECg@e@w@u@MM" }, "start_location": { "lat": 59.9086984, "lng": 10.7458653 }, "travel_mode": "DRIVING" } ], "traffic_speed_entry": [], "via_waypoint": [] }, { "distance": { "text": "0.4 km", "value": 411 }, "duration": { "text": "3 mins", "value": 160 }, "end_address": "Karl Johans gate 8, 0154 Oslo, Norway", "end_location": { "lat": 59.9114427, "lng": 10.7466441 }, "start_address": "Skippergata 23, 0154 Oslo, Norway", "start_location": { "lat": 59.9109549, "lng": 10.7480344 }, "steps": [ { "distance": { "text": "0.2 km", "value": 158 }, "duration": { "text": "1 min", "value": 57 }, "end_location": { "lat": 59.9122437, "lng": 10.7492447 }, "html_instructions": "Head <b>northeast</b> on <b>Skippergata</b> toward <b>Karl Johans gate</b>", "polyline": { "points": "mjtlJefr`Ae@e@m@i@KKy@u@i@g@g@c@KIEECC" }, "start_location": { "lat": 59.9109549, "lng": 10.7480344 }, "travel_mode": "DRIVING" }, { "distance": { "text": "76 m", "value": 76 }, "duration": { "text": "1 min", "value": 35 }, "end_location": { "lat": 59.9124852, "lng": 10.7483492 }, "html_instructions": "Turn <b>left</b> onto <b>Biskop Gunnerus' gate</b>", "maneuver": "turn-left", "polyline": { "points": "ortlJwmr`AOIOE?NAR?XA\\?L@J@VALCJAFIP" }, "start_location": { "lat": 59.9122437, "lng": 10.7492447 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.1 km", "value": 145 }, "duration": { "text": "1 min", "value": 55 }, "end_location": { "lat": 59.9113207, "lng": 10.7471677 }, "html_instructions": "Turn <b>left</b> onto <b>Dronningens gate</b>", "maneuver": "turn-left", "polyline": { "points": "attlJehr`AJFFHLNJNj@l@h@h@\\Xj@j@ZZ" }, "start_location": { "lat": 59.9124852, "lng": 10.7483492 }, "travel_mode": "DRIVING" }, { "distance": { "text": "32 m", "value": 32 }, "duration": { "text": "1 min", "value": 13 }, "end_location": { "lat": 59.9114427, "lng": 10.7466441 }, "html_instructions": "Turn <b>right</b><div style=\'font-size:0.9em\'>Destination will be on the right</div>', "maneuver": "turn-right", "polyline": { "points": "wltlJy`r`AWhB" }, "start_location": { "lat": 59.9113207, "lng": 10.7471677 }, "travel_mode": "DRIVING" } ], "traffic_speed_entry": [], "via_waypoint": [] }, { "distance": { "text": "12.7 km", "value": 12688 }, "duration": { "text": "19 mins", "value": 1134 }, "end_address": "Prost Holsviks vei 23, 1362 Hosle, Norway", "end_location": { "lat": 59.9340427, "lng": 10.5929849 }, "start_address": "Karl Johans gate 8, 0154 Oslo, Norway", "start_location": { "lat": 59.9114427, "lng": 10.7466441 }, "steps": [ { "distance": { "text": "32 m", "value": 32 }, "duration": { "text": "1 min", "value": 13 }, "end_location": { "lat": 59.9113207, "lng": 10.7471677 }, "html_instructions": "Head <b>southeast</b> toward <b>Dronningens gate</b>", "polyline": { "points": "omtlJo}q`AViB" }, "start_location": { "lat": 59.9114427, "lng": 10.7466441 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.3 km", "value": 294 }, "duration": { "text": "2 mins", "value": 115 }, "end_location": { "lat": 59.9089268, "lng": 10.7449089 }, "html_instructions": "Turn <b>right</b> onto <b>Dronningens gate</b>", "maneuver": "turn-right", "polyline": { "points": "wltlJy`r`ANNl@h@j@h@\\\\@@JHr@n@r@n@HHBBZVr@r@f@d@z@v@\\\\" }, "start_location": { "lat": 59.9113207, "lng": 10.7471677 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.1 km", "value": 112 }, "duration": { "text": "1 min", "value": 73 }, "end_location": { "lat": 59.9085052, "lng": 10.7467293 }, "html_instructions": "Turn <b>left</b> onto <b>Rådhusgata</b>", "maneuver": "turn-left", "polyline": { "points": "y}slJurq`Al@_EF[\\oC" }, "start_location": { "lat": 59.9089268, "lng": 10.7449089 }, "travel_mode": "DRIVING" }, { "distance": { "text": "7.2 km", "value": 7154 }, "duration": { "text": "6 mins", "value": 380 }, "end_location": { "lat": 59.91292499999999, "lng": 10.6382624 }, "html_instructions": "Turn <b>right</b> to merge onto <b>E18</b> toward <b>Kristiansand</b>/<b>Color Line Havn</b>", "polyline": { "points": "e{slJa~q`APXPPfChDnAbBNT\\f@NVLZFVV~AL~@?fE?v@AjCA^?XAZA^AZEh@AZC\\CPAJC\\GZCZEZKd@CPETKb@Mf@GRELK^M\\O\\Q`@MXOXOTQVOPA@OPSRQLSNYRSJIBQJ]N[Na@RYL[LYPULQJQJQNQNQPSRORSTQZWd@S`@Uj@O`@GREJMb@Of@Ib@Mf@Ib@Ij@Ij@Gj@Ih@Eh@Cl@Ed@Aj@Ch@Aj@Af@?P?V?\\?J@d@@f@?f@@f@Bd@@b@@d@@d@?@?@@b@@b@@b@@f@@X?H@d@Bd@@b@?R@R@d@?R@N@h@@d@?b@@b@@d@@R?`@?T?t@?R?b@@b@?RA`A?j@?t@A`B?hA?n@@T?T@p@@p@Bl@Br@F|@Fn@?BFf@RrAfDbQPnARtANzAHpAHxB@h@?n@@zAAXAt@Cx@AXGrAI`BMdBCZOzBM~BKbB[|E[~EC`@O~BMdBEd@M|AAJYvB]nBo@rCYpAYfAELENe@lAWn@Yj@[j@oKpQy@vA_@p@o@pAc@hAY~@Uz@Ox@QbAKv@K`AK`BIxBKnBKtAUbBWrAQt@Ql@Sf@]x@a@r@QXCBa@d@c@h@WXs@x@]^GJQVQRGNILGNGPETGPETAHCHAPCPARAJALAN?J?L?JAL@N?F?H?N@L@P@ZD`@NnB@\\Dh@DdB@H?L?X@fAAnACrAE~@Ej@Er@Mx@E^Ov@WdAe@jAy@rAW^q@jAe@z@Sd@Qd@Sr@ITGTS`AQlAIl@Kv@WvBEd@?BIl@Gf@Gh@WvBSbBQdBM`BCb@AVEdAAf@?TAb@@pA@lAD|@Bd@Bb@BV@P@DFn@@HLhAFh@Hj@Lz@BLBP^fBd@nBb@~ARn@Tr@FP`@fA@Bb@jAFLHZDHb@zAT`ARpAHf@Hp@NvADj@Fz@DnA@N?FFvAHjBLzARhB@HZ|BVfB\\~B\\|BRnAZxBXhBBRFf@f@nDHh@Jt@RvAX`CHx@zA|NBPFn@Fr@RzBRtB?BNtAB\\JjAP`BD\\?JBLHr@n@hFb@`CJj@Nr@Lf@h@bCJd@RhAJh@RjARrAPvAF\\Ht@Hh@BTJv@L|@L`A@FBRDZHp@b@jDPlAD`@Jz@BL@JHl@Hx@BRBVBN@TBRBVBTBXFx@ZrE" }, "start_location": { "lat": 59.9085052, "lng": 10.7467293 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.2 km", "value": 224 }, "duration": { "text": "1 min", "value": 30 }, "end_location": { "lat": 59.9134201, "lng": 10.6345029 }, "html_instructions": "Take exit <b>11</b> toward <b>Rv160</b>/<b>Jar</b>/<b>Bekkestua</b>/<b>Lysaker</b>", "maneuver": "ramp-right", "polyline": { "points": "wvtlJcx|_A?fBDbA?^APANATCPCNCNERENCLEJIPCFABAB?D?DAPIzA?LAJC\\Cf@C\\CZABEZCNET" }, "start_location": { "lat": 59.91292499999999, "lng": 10.6382624 }, "travel_mode": "DRIVING" }, { "distance": { "text": "2.2 km", "value": 2156 }, "duration": { "text": "3 mins", "value": 205 }, "end_location": { "lat": 59.9278472, "lng": 10.6215736 }, "html_instructions": "At the roundabout, continue straight onto <b>Vollsveien</b>", "maneuver": "roundabout-right", "polyline": { "points": "{ytlJs`|_AEDCD?@?@A??@?@?@A@?@?@?@?@?@?@A@?@?@?FADELEPGRGRGTCFAJERCRA^AHCLANEl@Eb@ATEb@ATEXGVGTKVKRILs@f@a@Xo@`@g@\\a@VODMBOBS@ODO@M@S@MBQDODQHMJQNQJKFKBO@KAOEUKSKQGKCMDIFKNGVIh@Gb@Gb@Id@GTEDCDMNOLEBOHYRULSLYRSNSLQFK?K?QEUCSEYGYGUEQCOAS?Q@ODSHMHQLMPILGLCDEFM\\Oh@Kd@EREVEd@Ij@Iv@Gz@EVOjAGh@AHE^Gj@Id@GZGTIRGNKLKHMBWH_@?oAOeADuBTUHMTGJG\\Cb@Ab@?PAb@?R?PAXCZIl@GNCDOHM?QIMMMMOWYo@OYOa@[s@_@}@y@mBe@_AKGIEMC]@KBI@A@cBXMJKPIRE\\C^Ep@CjAEv@An@EnAKdCC\\EJEHIHA?E@E?A?Y?W?KAG?S?I?U@Q@A?QKO?WAK@C?CBCBCJCDADGR" }, "start_location": { "lat": 59.9134201, "lng": 10.6345029 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.3 km", "value": 269 }, "duration": { "text": "1 min", "value": 28 }, "end_location": { "lat": 59.930125, "lng": 10.6203597 }, "html_instructions": "At the roundabout, take the <b>1st</b> exit and stay on <b>Vollsveien</b>", "maneuver": "roundabout-right", "polyline": { "points": "atwlJyoy_AE@A@CBCH_@Cy@OSCM?A?MDIBKFKFIBSFOHYRWTWV[VCDA@c@`@WTGDKHCBKJML" }, "start_location": { "lat": 59.9278472, "lng": 10.6215736 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.4 km", "value": 403 }, "duration": { "text": "1 min", "value": 38 }, "end_location": { "lat": 59.92998419999999, "lng": 10.6139677 }, "html_instructions": "At the roundabout, take the <b>2nd</b> exit onto <b>Bjerkelundsveien</b>", "maneuver": "roundabout-right", "polyline": { "points": "gbxlJghy_ACEAECCAAE?C?A@ABABABAB?DAD?D@D?D@D@BBBB@In@CNGVCJQv@IZE\\CRCXCXATAJAt@?~@@l@Bp@@B@LBb@Hl@?BJt@Jt@Lz@Ff@@HHr@@L@JDd@FfALhBDv@DX" }, "start_location": { "lat": 59.930125, "lng": 10.6203597 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.9 km", "value": 867 }, "duration": { "text": "1 min", "value": 82 }, "end_location": { "lat": 59.93676549999999, "lng": 10.6076067 }, "html_instructions": "Turn <b>right</b> onto <b>Nordveien</b>", "maneuver": "turn-right", "polyline": { "points": "kaxlJi`x_AUXi@`@GBSLiBPkDJiAFI@_@De@Fa@F_@L]N_@V_@Xa@`@_@^_@`@KNEDGH]b@Y`@W`@OVOVOVO\\Ub@q@vAOPWb@KTYl@Mf@e@hAaErIIL" }, "start_location": { "lat": 59.92998419999999, "lng": 10.6139677 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.1 km", "value": 123 }, "duration": { "text": "1 min", "value": 19 }, "end_location": { "lat": 59.9378173, "lng": 10.6073524 }, "html_instructions": "Turn <b>right</b> to stay on <b>Nordveien</b>", "maneuver": "turn-right", "polyline": { "points": "ykylJqxv_AWYGBGEA?WAW@WDODMJq@h@GDGF" }, "start_location": { "lat": 59.93676549999999, "lng": 10.6076067 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.2 km", "value": 238 }, "duration": { "text": "1 min", "value": 27 }, "end_location": { "lat": 59.9363239, "lng": 10.604344 }, "html_instructions": "Turn <b>left</b> onto <b>Nadderudveien</b>", "maneuver": "turn-left", "polyline": { "points": "krylJ}vv_AFZBJH^Hb@Nf@FPDLDL?BLZHPHRFJ~BfEBHFX\\x@R^" }, "start_location": { "lat": 59.9378173, "lng": 10.6073524 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.7 km", "value": 665 }, "duration": { "text": "2 mins", "value": 91 }, "end_location": { "lat": 59.9352213, "lng": 10.5942906 }, "html_instructions": "Turn <b>right</b> onto <b>Bispeveien</b>", "maneuver": "turn-right", "polyline": { "points": "_iylJcdv_AEHCLELCZMRMPORGLELCFGPAFCLCJAJALCP?J?N?P?N@P?N@N@P@NBRBNBPBNDNBNDLDNDJBHDNDHDJDHHNHLFLJNJRHLHLHLLPDHHLHLHNHJFHFJHJFLDJFJDHDLDLFNDNBLDLBLBNDPBN@J@HBJ?J@L@L@N@J@L?L@N?J?J?N?R?NIrFA~@EvE?T?RAf@?P?Z?b@AV?^" }, "start_location": { "lat": 59.9363239, "lng": 10.604344 }, "travel_mode": "DRIVING" }, { "distance": { "text": "0.2 km", "value": 151 }, "duration": { "text": "1 min", "value": 33 }, "end_location": { "lat": 59.9340427, "lng": 10.5929849 }, "html_instructions": "Turn <b>left</b> onto <b>Prost Holsviks vei</b><div style=\'font-size:0.9em\'>Destination will be on the left</div>', "maneuver": "turn-left", "polyline": { "points": "cbylJiet_AB@@?B@DBDBDBBBDDDBDBDDFFJHDDHHFDFDHH@@DDDFFFDFDFHLLPz@|A" }, "start_location": { "lat": 59.9352213, "lng": 10.5942906 }, "travel_mode": "DRIVING" } ], "traffic_speed_entry": [], "via_waypoint": [] } ], "overview_polyline": { "points": "wzxlJc}s_AsD}Em@c@GmCFiH]iAmBcCoDuEmDiC_C|@eE|CsEp@aE}ZQUSTiAdA}CvAyGhAyBVsBW{BqAo@q@QU\\uCX}AXiAr@oBx@oBWiDf@kH`@aA`@]p@`B[q@Uo@a@\\s@tBY~CNfDJxA_@z@w@jBo@`CY|A]tCPTn@p@r@h@vBv@zB?hGcA`Dy@vCyBjBoBbCoBhG_E~GyJzCiGbI_QxDeHxDaE~B}@xCWrH]dAg@Ge@a@cGSsB}@oHCiGpA}Gb@gAtBkBxAkAlAGxB^N\\Xo@?c@f@YlBStA?X}@X}HR{DTe@pBe@t@IhApAlEpJ|@LX_BP{E`DaAlE?l@k@b@kB~@wIjAsFfB{AdD^~@HrAy@zBaBdA{Et@AdA^zBeAdC[vFqD~AuJjAsBdBn@dA?\\QB{@tAaCJH~@dEO|By@CyAwFqAeQoAgPwBoQ_B_MiDoQaEe^qFcf@{D_Xw@cLe@uHmAsGyB{FwCgLmA}KGgGT_F~De[tD_IlBgFn@iFJaJe@mJ?aDd@wCfAiBzDkEtAqCfBqJ`AyNlBaH~DmHlIsNrBoEjDeP|Bk[xAa[{@iOkE}WMuRm@cd@XwKpAoHhBeEjCeCjF}B`EkEjC{Jh@qG@gKAiUn@eO|Eya@bBuHpDqIbCaDlAy@zBs@lA@vBf@zBlBf@~AtElICfAcBiAiD{GiBsFMa@@IASGMiA{F{Ad@cC~@_C@mAUuQgK_@QIf@_CfOoDlUgCnPcBrNZd@tCvBvBjEQnDy@`Fe@jDkBiBgDaDgB_BqHaHe@]Qv@ObClEnEBdCf@yAxBrBxFhFxAtAt@{E\\oCPXxCzD|B`D|@jDD`QaB|LoBtEgCbCaEjB}C|BoCnFoArFq@tI?tFZlNPhNRjW`Gt^NjO_Efo@aClMkArDkS~^qAxFm@tIeA|JuAdEgFtGsAlCa@hF\\dGHlL_@xEsAhFmFpKkEt^A|Kf@|FpChNjCvH|BvMbAlP|H`k@lG`n@hGj^vCvU`@rEVhN}@rGoAdIeAlJi@nAmD`CqCp@gCbAs@JkAe@o@Xa@hCoArBcDhBcDi@eADaAr@kAjDeAjJ{@pE}@d@kHJs@hAG|BEzAe@lA{@e@iAcC{C_HaAO{B`@i@nAk@xN_A`@sB@eAKORS`@i@J}ASo@XwCtBoBfBYKEh@}@bIHvGbA~HPfCR`DOr@oDdA_HZeCl@aCrByC`EkDtGoGrNq@MiADwA`At@zDrDpHr@|B[jA}@pBKtB|@|FtC`FjBrE\\zEKnWlB|ArBbD" }, "summary": "Wih. Wilhelmsens vei and Nordveien", "warnings": [], "waypoint_order": [ 1, 0, 2, 3 ] } ], "status": "OK" }