Google Maps Javascript API vs Google Maps Embed API

After some searching (even Google search isn't good at finding this answer), I can't find anything that compares these two seemingly closely related technologies. Google doesn't seem to say in any of their rather sparse documentation why I would want to use one vs the other. I don't know why I would use one technology over the other, or even completely what the difference is. Can anyone give me a basic rundown of what the differences are, and/or why I would want to use one vs the other?

Thanks for your help!


Well, I found this, but only after stumbling on it. And it still only lists a basic concept of the differences between them. It's helpful-ish, but not really what I would have expected Google to have in their system. So it's a kinda answer.

Basically, the difference is: programming, or not programming:

  • Customize a JavaScript API map by writing JavaScript.

  • Customize an Embed API map by changing URL parameters.

To quote Google from the FAQ section:

What are the Google Maps APIs?

The Google Maps APIs give developers several ways of embedding Google Maps into web pages, and allows for either simple use or extensive customization. There are now several API offerings:

Depending on your needs, you may find yourself using one or a combination of these APIs.

The API Picker also helps distinguish the JS API and the Embed API at a glance. (Note that the Embed API is not the same as the Static Maps API.)


Go with the Javascript API I think it'll suit your needs, from what I can tell the various APIs are all kinda part of the same thing with slightly different functionality

In a Nutshell: assuming you're using the APIs for webpage design as apposed to some web enabled phone app or something

  • Static API returns an image object and can be used in a <img src="..."> tag (my guess is safari compatibility?)
  • Embedded API is basically taking a map search that you did on the google site and posting it on your own site within an <iframe src="..."></iframe> tag
  • Javascript API gives you a whole JavaScript map object to work with if you want to custom code some of your own controls and/or zoom-clicky event goodness

however for the life of me I still cannot find where/how to make the JS API look'n'feel match the Embedded API

The API picker lists the most common things you may want to do on a map or with location-based data, and suggests the API that most suits your needs.

"Vast" is not necessarily a compliment when describing documentation. Google in particular has had troubles with consistency between its online documentation and its SDK integrations, and it has always been difficult to navigate between them. I think this is an excellent question and not one that Google answers in a prominent place -- the API Picker is the best resource I've seen.

In practice, I start with the simple embeds. If I need more features, then I look into the full Map API.

For website developers:

I'd use the Javascript API for clients to whom I provide an ongoing website management service. The main reason is to make the page load faster.

For a short term project (with no long-term relationship with the client) I'd use an embed iframe. This is to make sure the map will work even if Google will make changes to the API. Also, it eliminates the issues in relation to monitoring/paying for over limit usage.

For website owners:

Use Javascript API if you don't mind getting involved with obtaining the API key and monitoring usage limits. This method would be the best for your page load speed.

Use embed iframe code if you would like the quick and easy way to implement the google map, and to not worry about it in the future.

For Wordpress users:

In case you don't want to do any coding, there are many plugins that will help you to insert a google map into your website. However, in most cases, you'll still need to obtain an API key (Get a Key).

Need Your Help

What does functools.wraps do?

python decorator wrap

In a comment on this answer to another question, someone said that they weren't sure what functools.wraps was doing. So, I'm asking this question so that there will be a record of it on StackOverfl...

Update without touching timestamps (Laravel)

php laravel laravel-4 eloquent

Is it possible to update a user without touching the timestamps?