7

I have seen the two forms of reference to the Google Places Library/Service, using JavaScript vs calling the API directly, a number of times, but I don't understand the difference. The Google Docs don't describe anything about two methods of accessing the API.

For example, this question talks about 2 ways of accessing the API: OVER_QUERY_LIMIT in a loop

And it appears that there is some type of direct web access taking place in this question: Querying Google Places API using jQuery

Is this something where there was an old way that involved formatting URL parameters and the new way is by utilizing the JavaScript library calls?

FINAL SUMMARY EDIT: There are two distinct ways of requesting data from Google, as described in @Dan Nissenbaum's answer below. And since my original question, the QUERY_LIMIT question referenced above has been edited to also include more information about the two options.

Community
  • 1
  • 1
Sean Mickey
  • 7,618
  • 2
  • 32
  • 58

2 Answers2

6

Perhaps you are referring to the distinction between the Google Places API that is intended for use on the SERVER (i.e., utilizing PHP to call the Google Places API directly), and using the completely different approach of the Google Places Javascript Library in which the BROWSER executes Javascript using the Javascript library provided by Google (that internally wraps calls to the Google Places API, so that you, as a Javascript programmer, only need to understand the Javascript library provided by Google, and use that)?

Here are the two scenarios.

Scenario #1: Use the API directly. For this method, you must refer to Google's API documentation for the Google Places API: https://developers.google.com/maps/documentation/places/.

Using this API works as follows (giving a simple example only). Say you want to retrieve places within 1000 meters of latitude=-27.2531166, longitude=138.8655664. You need to hit a URL as described by the API documentation: https://developers.google.com/maps/documentation/places/#PlaceSearchRequests.

In this example, the URL looks like this (it's long):

https://maps.googleapis.com/maps/api/place/search/json?location=-27.2531166,138.8655664&radius=1000&sensor=false&key=AddYourOwnKeyHere

You need a key for your personal use, which I assume you have. There are other options you can specify, such as limiting the results to restaurants, etc.

When you hit this URL, the data will be returned in either JSON, or XML format, as specified by the text json in the URL above (use the text xml for xml). This data is returned exactly like data is returned from any URL call when you hit a URL in your browser.

You can test this by simply typing the URL directly in your browser, and see the results.

To use the API directly from code, you will need to use code that hits the external URL above within code and retrieves the results within code (for example, using the PHP CURL library, or using AJAX in Javascript).

Scenario #2: You use the Javascript library that Google provides that wraps the API, so you don't need to deal with it. I'll update the answer with more details about this, if you don't know what this is.

Sean Mickey
  • 7,618
  • 2
  • 32
  • 58
Dan Nissenbaum
  • 13,558
  • 21
  • 105
  • 181
  • My question is focused on **Google Places**, but thanks for trying to help. I've updated my question to add some clarity. – Sean Mickey May 02 '12 at 21:28
  • Yes, in your first link, above (http://stackoverflow.com/questions/10409141/over-query-limit-in-a-loop), indeed the questioner is referring to using the API directly (i.e., calling a Google URL using the REST API and parsing the XML or JSON results in the code, vs. using Google's Javascript library which (invisibly to you) does the same thing). I will update my answer to make this more clear. – Dan Nissenbaum May 02 '12 at 21:46
  • Dan - thanks for sharing all of the links and info. I get the difference now. I was unaware of the API option, because there is no link from the JavaScript docs. And no, you don't have to explain the JavaScript option; you are correct that I'm familiar with that side of things. Appreciate you taking the time - – Sean Mickey May 03 '12 at 00:08
  • Yes this answer is what I meant in my question about the OVER_QUERY_LIMIT in a loop :) – basicallydan May 03 '12 at 07:53
2

The docs do discuss the two different approaches. The Places Library utilizes the Google Places services from within the JavaScript Google Maps API. If you are using the Google Maps API in a browser, this is probably the approach for you: https://developers.google.com/maps/documentation/javascript/places

There is also a web service, which allows you to query directly from your application. You query it using direct http calls to Google services. If you need access to the data on your server or a mobile device, this is the approach you want to take: https://developers.google.com/maps/documentation/places

Mano Marks
  • 8,761
  • 3
  • 27
  • 28
  • I stand corrected; both options _are_ documented indeed. I use JavaScript for my map development, so that is where I begin searching for information. Unfortunately, there is no mention of the API in the JavaScript docs (at least not right now). There _is_ a link from the API docs to the JavaScript docs, but that didn't help me. Thanks for your clarification and information - – Sean Mickey May 03 '12 at 00:04