1 00:00:00,270 --> 00:00:06,720 In this video as promised you're going to learn how to use another HDTV API in our weather application. 2 00:00:06,720 --> 00:00:07,620 The API. 3 00:00:07,620 --> 00:00:14,550 We're gonna be using a provides a geo coding service geo coding is the process of taking an address 4 00:00:14,730 --> 00:00:20,980 like Philadelphia United States and converting that into a latitude and longitude coordinate pair. 5 00:00:21,090 --> 00:00:26,190 And that's a great thing because once we have those coordinates we'll be able to pass them off to the 6 00:00:26,190 --> 00:00:31,140 dark sky API to get the weather information for that location. 7 00:00:31,200 --> 00:00:37,350 So in the end of the day it's going to require two HDTV requests to build out the weather app. 8 00:00:37,350 --> 00:00:41,580 We're gonna chain both together doing one first then the other. 9 00:00:41,580 --> 00:00:44,130 So down below that's going to look a bit like this. 10 00:00:44,160 --> 00:00:47,550 The user obviously is going to provide an address. 11 00:00:47,550 --> 00:00:53,940 Then we will use an API which we'll explore in this video to convert that to the lat and long. 12 00:00:53,940 --> 00:01:00,570 Then we'll use the coordinate pair with the dark sky API up above to get the weather so the user puts 13 00:01:00,570 --> 00:01:03,000 the address in and gets the weather out. 14 00:01:03,000 --> 00:01:09,210 At no point do they need to know we converted things to latitude and longitude behind the scenes like 15 00:01:09,210 --> 00:01:11,220 we did with the dark sky API. 16 00:01:11,250 --> 00:01:16,140 Let's go ahead and move into the browser to explore this service before we try to integrate it into 17 00:01:16,140 --> 00:01:17,310 our project. 18 00:01:17,340 --> 00:01:23,880 So I'm gonna close down some of these tabs like the dark sky API ones since we already have that integrated 19 00:01:24,150 --> 00:01:31,560 and I'm going to crack open a brand new tab and go over to map a box dot com map box offers all sorts 20 00:01:31,560 --> 00:01:34,600 of interesting location based services. 21 00:01:34,620 --> 00:01:37,950 In this case we're gonna use their geo coding service. 22 00:01:38,010 --> 00:01:43,800 Now if we head over to the pricing page we will see this is very similarly structured to the dark sky 23 00:01:43,830 --> 00:01:44,800 API. 24 00:01:44,910 --> 00:01:51,840 We can get started for free without providing a credit card or any other information and we get 50000 25 00:01:51,900 --> 00:01:55,970 requests a month which is way more than we'll end up using. 26 00:01:56,010 --> 00:01:58,650 Now once again we do have to create an account. 27 00:01:58,680 --> 00:02:03,500 So Matt box can provide us with a secret key like we had for dark sky. 28 00:02:03,570 --> 00:02:07,320 That's going to allow it to track how many requests we're actually making. 29 00:02:07,830 --> 00:02:12,990 So I'm going to go to the Getting Started page and we're just going to sign up for an account and once 30 00:02:12,990 --> 00:02:17,550 we have one we can integrate what we know about geo coding into the weather app. 31 00:02:17,760 --> 00:02:24,950 Let's go ahead and create the account so I'm going to pick a user name then I'll provide my email address 32 00:02:24,980 --> 00:02:29,330 as well as pick a password for the account and everything else is completely optional. 33 00:02:29,330 --> 00:02:34,040 You don't need to provide your name or your company information then we're going to click a getting 34 00:02:34,040 --> 00:02:38,690 started and this is going to bring us over to the map box dashboard from here. 35 00:02:38,690 --> 00:02:43,700 The first thing we want to do is head over to the access tokens tab up top. 36 00:02:43,700 --> 00:02:48,740 This is going to bring us to our access token and this is what we're gonna need to provide with our 37 00:02:48,740 --> 00:02:49,500 request. 38 00:02:49,520 --> 00:02:55,430 So in that box knows we're actually authenticated and it can associate the request with our account 39 00:02:55,800 --> 00:02:59,270 now up above it talks about why we would need an access token. 40 00:02:59,390 --> 00:03:02,150 And it links to map box Web services. 41 00:03:02,150 --> 00:03:08,600 These are all of the HDTV requests you can make with the map box tool set and we're going to crack open 42 00:03:08,660 --> 00:03:11,840 that link in a brand new tab. 43 00:03:11,860 --> 00:03:18,520 This is Andrew from the future with a quick update as you'll notice the API docs you're seeing are different 44 00:03:18,520 --> 00:03:26,290 from the API docs I'm seeing in the video map box reorganized their API docs changing the layout. 45 00:03:26,290 --> 00:03:32,350 Now the new docs are indeed better but they're different which means it was impossible to follow along 46 00:03:32,350 --> 00:03:34,080 with the old video. 47 00:03:34,090 --> 00:03:40,060 So what I'm doing here is refilling the next five or so minutes where we explore how we'll be using 48 00:03:40,090 --> 00:03:41,090 Matt box. 49 00:03:41,200 --> 00:03:47,470 Once we're done with that we'll get back into the regular video the actual end points and what data 50 00:03:47,470 --> 00:03:48,210 we get back. 51 00:03:48,220 --> 00:03:50,290 That hasn't changed at all. 52 00:03:50,290 --> 00:03:54,880 It's just the API docs that have been redesigned and reorganized. 53 00:03:54,880 --> 00:03:56,630 So let's get to it. 54 00:03:56,650 --> 00:04:03,340 Here are the new API docs and this should be similar to what you're seeing now there are a lot of different 55 00:04:03,340 --> 00:04:05,220 features documented here. 56 00:04:05,260 --> 00:04:11,560 What we're looking for is in the sidebar under search service if we click on that. 57 00:04:11,560 --> 00:04:15,070 This brings us over to their geo coding service. 58 00:04:15,070 --> 00:04:22,060 That's what's going to allow us to take addresses like this one and convert them into coordinate pairs 59 00:04:22,330 --> 00:04:29,170 once we've converted the address into the coordinate pair we can pass the latitude and longitude off 60 00:04:29,170 --> 00:04:35,950 to Dark Sky to actually fetch the weather we can see right here that this API supports two different 61 00:04:35,950 --> 00:04:37,510 types of geo coding. 62 00:04:37,510 --> 00:04:44,890 We have a forward geo coding and reverse geo coding we want forward geo coding that's when we provide 63 00:04:44,890 --> 00:04:52,090 an address and get back the latitude and longitude and reverse geo coding just does the opposite in 64 00:04:52,090 --> 00:04:56,080 this case though we have the address we want the coordinate pair. 65 00:04:56,080 --> 00:04:58,720 So we'll use forward geo coding. 66 00:04:58,900 --> 00:05:05,320 Now if we scroll down onto this page we get to the End Points section and if we keep going past that 67 00:05:05,560 --> 00:05:08,700 eventually we get to forward geo coding. 68 00:05:08,830 --> 00:05:14,260 And this is the end point we're going to be using we'll provide our address. 69 00:05:14,260 --> 00:05:18,220 We'll get back the latitude and longitude. 70 00:05:18,220 --> 00:05:22,050 Now down below we can see there are two required parameters. 71 00:05:22,090 --> 00:05:26,740 One is the end point we're gonna use map box dot places. 72 00:05:26,740 --> 00:05:28,380 This is the main one. 73 00:05:28,450 --> 00:05:31,690 The other one is reserved for enterprise customers. 74 00:05:31,990 --> 00:05:34,020 And we also have these search text. 75 00:05:34,030 --> 00:05:39,110 This is where we provide the address down below the required parameters. 76 00:05:39,160 --> 00:05:46,090 We can see there are a bunch of optional ones which also allow us to customize that operation and we'll 77 00:05:46,090 --> 00:05:49,210 explore a couple of these in just a few minutes. 78 00:05:49,420 --> 00:05:57,250 If we keep scrolling down though the next thing we run into is example request with forward geo coding. 79 00:05:57,250 --> 00:06:03,160 Now right here they're just using the curl command from the terminal to fetch the given end point. 80 00:06:03,280 --> 00:06:07,810 But let's examine the end point and then we'll see what data we get back. 81 00:06:07,870 --> 00:06:14,590 So it starts off with the base U.R.L. That is h TTP s API map box dot com. 82 00:06:14,590 --> 00:06:18,130 Then we have this portion of the U.R.L. right here. 83 00:06:18,130 --> 00:06:22,140 We are using their geo coding API it is Version 5. 84 00:06:22,210 --> 00:06:25,470 Then we provide those two required parameters. 85 00:06:25,480 --> 00:06:31,950 As mentioned we have map box dot places and then we have our search term right here. 86 00:06:31,960 --> 00:06:35,830 The example request is searching for Los Angeles. 87 00:06:35,830 --> 00:06:40,810 So what we get back would be the coordinate pair for that location. 88 00:06:40,810 --> 00:06:44,380 Next up we have a bunch of other information we have dot Jason. 89 00:06:44,380 --> 00:06:46,730 So we're gonna get Jason data back. 90 00:06:46,840 --> 00:06:49,180 And here we start the query string. 91 00:06:49,720 --> 00:06:52,140 Now we have key value pairs inside of here. 92 00:06:52,150 --> 00:06:56,500 And by default there is only one it is access token. 93 00:06:56,510 --> 00:07:02,500 This is where we provide the API token for our account and we can see that it's already set up in the 94 00:07:02,520 --> 00:07:04,090 U.R.L. right here. 95 00:07:04,090 --> 00:07:06,070 And it runs on quite a bit. 96 00:07:06,100 --> 00:07:12,490 So what we're going to do is take this U.R.L. bring it over to the browser and explore the response 97 00:07:12,550 --> 00:07:13,160 data. 98 00:07:13,240 --> 00:07:18,640 Once we're comfortable with it we'll customize it with a few of those optional parameters and then we'll 99 00:07:18,640 --> 00:07:22,070 actually integrate this into our project code. 100 00:07:22,090 --> 00:07:27,070 So right here let's take the entire U.R.L. without those double quotes. 101 00:07:27,070 --> 00:07:33,070 I'm going to copy it to the clipboard and once I have it we're just going to crack open a new browser 102 00:07:33,070 --> 00:07:36,310 tab and visit that you are all when we do. 103 00:07:36,310 --> 00:07:37,270 What do we get. 104 00:07:37,270 --> 00:07:40,600 As expected we get a Jason response. 105 00:07:40,690 --> 00:07:46,750 Let's explore the Jason response and to start I'm going to collapse the expanded properties query and 106 00:07:46,810 --> 00:07:47,770 features. 107 00:07:47,770 --> 00:07:53,470 And right here we can see that the root of our response is just an object with four properties type 108 00:07:53,470 --> 00:07:56,070 query features and attribution. 109 00:07:56,230 --> 00:07:58,990 Now query just lets us know what we provided. 110 00:07:58,990 --> 00:08:03,840 So right here we have these search terms that we provided via the U.R.L. up above. 111 00:08:04,240 --> 00:08:09,630 It is the features array that contains the interesting data we want to extract. 112 00:08:09,640 --> 00:08:12,670 Now you'll notice it's an array five items. 113 00:08:12,760 --> 00:08:20,740 So by default that box is going to return the five most relevant search results for your search term 114 00:08:20,950 --> 00:08:23,920 and the most relevant one comes first. 115 00:08:23,920 --> 00:08:29,350 So Los Angeles in California is not the only Los Angeles out there. 116 00:08:29,350 --> 00:08:32,860 It happens to be the first result since it's the most relevant. 117 00:08:32,860 --> 00:08:35,900 But there are other cities with the same name. 118 00:08:35,980 --> 00:08:40,750 So let's dive into the features array and see exactly what we got right here. 119 00:08:40,750 --> 00:08:44,760 The first object in the features array is what we're going to focus on. 120 00:08:44,770 --> 00:08:48,070 It starts up above and it ends way down here. 121 00:08:48,310 --> 00:08:55,630 And this is the most relevant search result for our keywords right here we can see there are a lot of 122 00:08:55,630 --> 00:08:59,470 properties one that's interesting is place name. 123 00:08:59,470 --> 00:09:02,500 Los Angeles California United States. 124 00:09:02,500 --> 00:09:08,740 So right here this is something we can display to the user so they know exactly where they're getting 125 00:09:08,740 --> 00:09:15,280 the weather for and if they see this and it's not the Los Angeles they expected they can always change 126 00:09:15,280 --> 00:09:19,740 their search term to target a different city with the same name. 127 00:09:19,750 --> 00:09:27,610 Now aside from place name we also need the latitude and longitude and those are available via the center 128 00:09:27,670 --> 00:09:28,520 property. 129 00:09:28,620 --> 00:09:36,430 It is an array with two numbers inside the first number that is the longitude and the second number. 130 00:09:36,430 --> 00:09:38,830 That is the latitude. 131 00:09:38,830 --> 00:09:45,340 So we're going to be able to extract these two values from the Jason response and pass those off to 132 00:09:45,340 --> 00:09:51,670 the dark sky API to fetch the weather for this location before we go any further. 133 00:09:51,670 --> 00:09:57,160 Let's head back over to the API docs and explore some of the optional parameters. 134 00:09:57,160 --> 00:10:04,060 So right here we have a nice list of optional ones one that might be of interest to us is language. 135 00:10:04,060 --> 00:10:09,070 Language allows us to customize the language that's being used in the response. 136 00:10:09,070 --> 00:10:16,660 So right here if I was creating an application specifically for German users or specifically for French 137 00:10:16,720 --> 00:10:24,170 users I could customize the response with language to get things back in their native tongue. 138 00:10:24,190 --> 00:10:27,430 Now down below language we have other options as well. 139 00:10:27,460 --> 00:10:33,930 One being limit limit allows us to specify the maximum number of results we can return. 140 00:10:33,940 --> 00:10:35,520 Now by default it's five. 141 00:10:35,530 --> 00:10:36,760 We've seen that. 142 00:10:36,760 --> 00:10:39,350 And the maximum supported is 10. 143 00:10:39,490 --> 00:10:44,470 In our case we know that we're only ever going to use the first result. 144 00:10:44,470 --> 00:10:45,550 That's what we're going to fetch. 145 00:10:45,550 --> 00:10:46,810 The weather for. 146 00:10:46,810 --> 00:10:52,260 So we can actually set the limit to one requiring less data to be sent back. 147 00:10:52,270 --> 00:10:54,200 Speeding up the request. 148 00:10:54,280 --> 00:10:55,630 So let's get that done. 149 00:10:55,630 --> 00:10:59,890 We're going to use limit in our U.R.L. over here. 150 00:11:00,010 --> 00:11:05,680 Now that you are l already sets up our query string it starts with the question mark and we provide 151 00:11:05,680 --> 00:11:07,580 our first key value pair. 152 00:11:07,600 --> 00:11:15,610 The key is access token then it's equals followed by this really long value at the end of that token. 153 00:11:15,610 --> 00:11:19,860 We're going to set up a another key value pair for the query string. 154 00:11:19,960 --> 00:11:25,780 We use the ampersand followed by the key that is limit followed by equals. 155 00:11:25,780 --> 00:11:30,950 Then the value and right here we'll just limit it to one search result. 156 00:11:30,970 --> 00:11:36,550 Let me bring that back up just so you can see it there is exactly what we're using now in this case. 157 00:11:36,550 --> 00:11:41,870 If I refresh the page I can see that the features array is still an array. 158 00:11:41,890 --> 00:11:44,250 It's just an array of one item. 159 00:11:44,260 --> 00:11:47,680 So right here we have the most relevant result. 160 00:11:47,680 --> 00:11:50,950 Once again it is Los Angeles in California. 161 00:11:50,950 --> 00:11:56,350 If someone wanted to target a different Los Angeles they could add more content to the search term to 162 00:11:56,350 --> 00:11:57,950 be more specific. 163 00:11:58,180 --> 00:12:04,120 Now that we have this in place let's continue on with the regular programming as we're done exploring 164 00:12:04,300 --> 00:12:08,050 the changes made to the API documentation. 165 00:12:08,050 --> 00:12:09,490 Thanks for bearing with me. 166 00:12:09,490 --> 00:12:11,750 Let's get to it now. 167 00:12:11,760 --> 00:12:15,230 Let's talk about what I'd like you to do as your challenge for the video. 168 00:12:15,240 --> 00:12:21,200 The goal for now is to not worry about integrating the two requests together we'll get to that shortly. 169 00:12:21,210 --> 00:12:25,260 The goal for the moment is to just create a completely separate request. 170 00:12:25,320 --> 00:12:28,820 Getting this you are well integrated into our application. 171 00:12:28,920 --> 00:12:33,650 So right here what you do is not going to tie in with what we have above in any way whatsoever. 172 00:12:33,690 --> 00:12:34,860 And that is the point. 173 00:12:34,860 --> 00:12:42,030 For now the goal is to print the latitude and longitude for Los Angeles which is indeed the search term 174 00:12:42,210 --> 00:12:45,190 we've used in the you are all we have in the browser. 175 00:12:45,210 --> 00:12:51,240 So step one you're going to fire off a new request to the U.R.L. we explored in the browser and you're 176 00:12:51,240 --> 00:12:55,910 going to have the request module pass it as Jason like we did above. 177 00:12:56,010 --> 00:13:01,290 From there you're going to print both the latitude and longitude to the terminal and you're going to 178 00:13:01,290 --> 00:13:04,500 use the two values on the center array for that. 179 00:13:04,620 --> 00:13:08,620 The first being the latitude and the second being the longitude. 180 00:13:08,700 --> 00:13:11,100 Then finally you're going to test your work. 181 00:13:11,100 --> 00:13:12,070 Run this file. 182 00:13:12,120 --> 00:13:17,430 Make sure you see the weather print from up above and make sure you see your lat and long coordinate 183 00:13:17,430 --> 00:13:19,070 pair printing down below. 184 00:13:19,080 --> 00:13:24,020 Once again there's no need to communicate between these two requests at all for now. 185 00:13:24,030 --> 00:13:26,580 The goal is to have a completely separate request. 186 00:13:26,670 --> 00:13:32,100 Just getting the geo coding service set up in our application in some way. 187 00:13:32,100 --> 00:13:38,010 Take as much time as you need to knock that one out pause the video and when you're done come back and 188 00:13:38,010 --> 00:13:38,640 click play 189 00:13:42,680 --> 00:13:44,240 how'd that go down below. 190 00:13:44,240 --> 00:13:48,610 I'm going to kick things off by first getting that you are well into my application code. 191 00:13:48,680 --> 00:13:54,740 So over here we're gonna grab the U.R.L. exactly as we had it in the browser without making any changes 192 00:13:54,740 --> 00:13:55,730 whatsoever. 193 00:13:55,880 --> 00:13:58,830 And I'm going to store it in a new variable cost. 194 00:13:58,910 --> 00:14:01,060 Now you are L is already taken. 195 00:14:01,190 --> 00:14:05,450 So I'll use something like geo coding or geo code. 196 00:14:05,480 --> 00:14:11,810 You are all perfect now that we have that variable set up we can paste the you are L right inside of 197 00:14:11,810 --> 00:14:15,730 my single quotes right inside of the string and down below. 198 00:14:15,740 --> 00:14:18,110 We're going to fire off our request. 199 00:14:18,110 --> 00:14:19,610 So right here what do we do. 200 00:14:19,610 --> 00:14:25,850 We call a request exactly like we did up above and we pass in those two important pieces of information 201 00:14:26,030 --> 00:14:28,040 to the options object. 202 00:14:28,040 --> 00:14:29,690 The first is the U.R.L.. 203 00:14:29,720 --> 00:14:32,830 Now we have that stored in our new geo code. 204 00:14:32,840 --> 00:14:34,390 You are all variable. 205 00:14:34,490 --> 00:14:39,600 And the second is the Jason in lower case property which we're going to set to true. 206 00:14:39,620 --> 00:14:46,280 So the data gets passed automatically for us now and from here we can go ahead and move on and do the 207 00:14:46,280 --> 00:14:49,900 function that's gonna run when we get our response back. 208 00:14:49,910 --> 00:14:56,180 We know this function gets called with two arguments The first argument is the error which is not something 209 00:14:56,180 --> 00:14:59,560 we've explored yet but something we will explore shortly. 210 00:14:59,630 --> 00:15:06,510 And the other argument that is the response on response we can find the data we need. 211 00:15:06,560 --> 00:15:08,550 Now this brings us to step 3. 212 00:15:08,720 --> 00:15:14,360 We want to print the latitude and longitude to the terminal and we know we have both of those sitting 213 00:15:14,360 --> 00:15:15,290 right here. 214 00:15:15,290 --> 00:15:20,450 So we have to navigate through this data structure to get to those two values and we're gonna do that 215 00:15:20,630 --> 00:15:25,850 in our function to start I'm going to create two variables to extract those two values. 216 00:15:25,850 --> 00:15:31,040 Now this was not an essential piece to the challenge maybe you just went right into a console dialogue 217 00:15:31,070 --> 00:15:31,750 call. 218 00:15:31,850 --> 00:15:34,090 That would have worked just fine. 219 00:15:34,340 --> 00:15:39,000 Right here though I'll start by creating a const and I'll call this 1 latitude. 220 00:15:39,230 --> 00:15:40,790 I'm gonna set it equal to. 221 00:15:40,910 --> 00:15:47,060 And we know we want to go to response dot body which is this object the one we've used before with the 222 00:15:47,090 --> 00:15:49,010 dark sky API. 223 00:15:49,010 --> 00:15:51,320 Now from there we want to access features. 224 00:15:51,320 --> 00:15:54,540 So response dot body dot features. 225 00:15:54,560 --> 00:15:56,990 That's an array of just one item. 226 00:15:57,140 --> 00:16:03,830 We're going to grab that first one by index using bracket notation and then from there we want to access 227 00:16:03,860 --> 00:16:05,220 what's on center. 228 00:16:05,300 --> 00:16:08,390 So dot center now center is also an array. 229 00:16:08,390 --> 00:16:11,260 The first one being the latitude so I'll grab that end. 230 00:16:11,270 --> 00:16:12,140 There we go. 231 00:16:12,140 --> 00:16:15,410 Now we have the latitude stored in a variable. 232 00:16:15,410 --> 00:16:18,380 Let's go ahead and set up a another variable for the long etude 233 00:16:21,120 --> 00:16:27,330 this variable is going to get its value from a similar place response dot body dot features accessing 234 00:16:27,330 --> 00:16:30,150 the first item then dot center. 235 00:16:30,150 --> 00:16:33,210 This is the second item with an index of 1. 236 00:16:33,450 --> 00:16:36,690 Andrew from the future with one more quick interruption. 237 00:16:36,690 --> 00:16:39,200 Once again I did reverse the order. 238 00:16:39,270 --> 00:16:43,530 So up above you can see the code I just typed which is incorrect. 239 00:16:43,530 --> 00:16:50,130 Down below we have the correct version of the latitude comes from the second item in that array with 240 00:16:50,130 --> 00:16:57,470 the index of one and the longitude comes from the first item in that array with the index of 0. 241 00:16:57,480 --> 00:17:04,880 I do address this in the video in a couple of lectures when I finally realized my mistake now we can 242 00:17:04,880 --> 00:17:10,020 go ahead and actually print both of those values to the console so console log. 243 00:17:10,040 --> 00:17:17,210 I will print latitude first then a comma to pass in a second argument to print long to tube. 244 00:17:17,260 --> 00:17:20,070 Once again if your console got log call looks different. 245 00:17:20,170 --> 00:17:21,250 Is okay. 246 00:17:21,310 --> 00:17:23,260 The goal is to just get that information. 247 00:17:23,260 --> 00:17:27,880 Printing it doesn't matter the exact format it's printed in for now. 248 00:17:27,880 --> 00:17:33,340 The last thing to do was to test our work making sure this request and our code inside of the function 249 00:17:33,460 --> 00:17:35,630 actually works as expected. 250 00:17:35,680 --> 00:17:37,890 I'm going to go ahead and rerun the file. 251 00:17:37,930 --> 00:17:42,720 This is gonna show both things it's going to show the lat and long as well as the weather. 252 00:17:42,790 --> 00:17:49,360 And right here we have our data I have minus 1 1 8 which is exactly what I have over here and I have 253 00:17:49,370 --> 00:17:54,250 34 which also matches up with the values I'm seeing in the center array. 254 00:17:54,280 --> 00:17:58,960 Now that we have this in place we are all done with the challenge and we can remove those challenge 255 00:17:58,960 --> 00:17:59,640 comments. 256 00:17:59,650 --> 00:18:03,160 And now we have to API requests in our program. 257 00:18:03,160 --> 00:18:09,080 The first the one we just created that allows us to convert an address into the lat long coordinate 258 00:18:09,090 --> 00:18:09,740 pair. 259 00:18:09,820 --> 00:18:14,950 And the second allows us to take the lat long and convert that into a weather forecast. 260 00:18:15,220 --> 00:18:19,900 So the user gives us an address and they get back the weather for that location. 261 00:18:19,900 --> 00:18:26,150 Now there's a lot more to say about various things related to asynchronous programming and HDTV requests. 262 00:18:26,260 --> 00:18:28,420 So we're gonna continue on with all of this. 263 00:18:28,420 --> 00:18:30,850 In the next video I'll see you that.