Getting started with the Google Places API

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Hi. I'm Chris Broadfoot. I'm an engineer on the Google Maps Developer Relations team. In this tutorial, I'll be showing you how to get started with the Google Places API. The Google Places API gives you access to Google's database of over 80 million places. There's worldwide coverage and detailed information about each and every place. It's completely free to use, and in this tutorial, I'll be showing you how to get started. Before we begin, let me show you one of my favorite websites built with the Places API. mapofthedead.com shows you how to survive the zombie apocalypse. The first thing you'll notice is that it doesn't look anything like Google Maps. These guys are using a great map style that gives you a fantastic undead look and feel. Places that are important during the zombie apocalypse are displayed and marked on the map, such as gun stores, grocery stores, airports, and doctors. I can move the character around, and based on where I place him, new results are marked on the map. I can also use the textbooks at the top of the page to select a new location. This is the best time to use Places Autocomplete. A feature I'll be showing you how to use in a moment. You, too, can build apps like the one I just showed. It's worth reading through the documentation to get a good understanding of the capabilities. In this tutorial I'll be demonstrating some of the features of the Places API. The Google Places API is accessible via our Web Service from the language of your choice or from your website using the library in the Maps JavaScript API. The Web Service can send responses formatted as JSON or XML. Today, I'll be using the JSON version. To start using the Google Places API, you first need to sign up for a Places API key. This allows us to issue you more quota when your application exceeds the courtesy limit of 1,000 requests per day. First, visit the developer console found over on the Google Developers website. You'll need to create a project, then enable the Places API. Read through the terms of service carefully. There are some important points, including some about use of data returned from the API. Once you've done that, you can now obtain your key from the API access screen. This key will be used for all web service requests. Let's take a look at Places Auotocomplete. Google Places Autocomplete allows you to add similar functionality to the Google Maps search box on your website. Places and addresses are suggested as I type into the standard HTML input box. As I begin typing 1600 Amphitheatre Parkway, Google's Mountain View headquarters, I get suggestions based on my partial input. Note that the matching substring is highlighted on each suggestion. Using Autocomplete via the JavaScript library is simple. First, you need to include the Places library when you load the Google Maps JavaScript API. Just add libraries equals Places to your bootstrap. Add Autocomplete to an existing input element in your page by passing in the element as a parameter to the Autocomplete's constructor. Autocomplete functionality is now attached to the input element. To be notified of when a user selects a place, listen to the place changed event on the Autocomplete object. Details of the selected place can then be obtained inside an event listener. Just call Get Place on the Autocomplete object to retrieve the details about the selected place. In this example, we simply output three fields-- the formatted address, the URL, and location. There are many other fields that you can use in your application. Autocomplete is also available as a web service accessible from any programming language. Using the web service opens up more creative possibilities of displaying and augmenting results. Just use your favorite HTTP package or library. Send an HTTP get request. Include the partial input from the user. In addition, there are two required parameters for each web service query-- key and sensor. Use the key that you generated previously from the developer console. The sensor must be set to true if the location is derived from any sensor such as a GPS. Otherwise, it's safe to set it to false. The response contains a status code and a list of predictions. Each prediction will be comprised of a description, which is a string that you should present to the user, a breakdown of the terms, which make up the suggestion, a list of the substrings matched to the user input-- you can highlight it in your user interface-- and an ID, which we'll ignore for now. You also get a place reference, which you can use to fetch additional Place details. Place details can be fetched using a place reference. Again, send an HTTP get request to the details end point. The only other required parameters are key and sensor, which I mentioned previously. Attributes of the place will be returned. Some sample output is shown here. And the response will contain a status code, data attributions formatted as HTML, and a place result structure containing detailed information such as name, location, formatted instruction address, category phone number, amongst other attributes. Look at the documentation for a complete list. While a details request is available using the JavaScript library, it's not necessary to use it if you're using the Autocomplete control. Details are returned automatically upon selection of a place in the dropdown. You might still want to store the reference for later retrieval of the place details. It's possible to perform some filtering on the Autocomplete API. The first kind of filter is the type filter. This refines predictions based on the type of result. There are currently four options-- geocode, establishment, regions, and cities. Geocode will return addresses and regions, and establishments will return businesses. The next kind of filter allows restriction of predictions to a single country. Simply add the components parameter. In this example, all Autocomplete predictions are restricted to France. This is also valid on the Autocomplete control. Just set the component restrictions property. As I begin typing California, the Autocomplete control will only offer me suggestions in France. Autocomplete is optimized to select a place based on partial input. It's optimized for very low latency so that users see results immediately after every key press. Places searches are more powerful. Complete search criteria is at your disposal. Send an HTTP get query to the search end point. You should specify location and a radius. You will receive a status code, data attributions in HTML format, and an array of place results. You'll notice that compared to Autocomplete responses, much more information is returned about each place. Places search is also available from the JavaScript API. Simply create a place of service object, then call the search function. You'll need to pass in a callback function that will be called with the place results. In this example, we simply print the name of types of each place that's returned. It's also possible to restrict your search by category by using the types of parameter. We support more than 130 types, including bar, restaurant, lodging, shop, and many more. You can see the complete list in our Places reference docs. In this example, the query provided searches for ATMs around the Sydney central business district. Sometimes, the type of place you want to search for is not included in our place types. For example, if you'd like to search for surf schools, you can use the keyword parameter. The places API will match the keyword provided against all known text associated with a place, including its website and user reviews. It's also useful to refine a type search. For example, if you'd like to search for Italian restaurants, you can do a search for types equals restaurant and set keyword to Italian. Places search results can also be refined by exact matches of the name. Just specify the name parameter. In the previous examples, results were ranked according to their prominent score. Alternatively, results may be ranked by distance from the center of the query. Just specify the rank by parameter. When using distance ranking, you must also specify some other search criteria. In example here, we used distance ranking and keyword filtering to find the closest sushi restaurant. This was just an overview of the Google Places API. There are many more details and features that you can explore over on the Google Developers website. Thanks for listening, and I look forward to seeing the apps that you develop.
Info
Channel: Google for Developers
Views: 143,173
Rating: undefined out of 5
Keywords: Google, Places, API
Id: 5oG2Q2GMOBE
Channel Id: undefined
Length: 8min 22sec (502 seconds)
Published: Mon Jul 30 2012
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.