1 of 1 people found this helpful
I am seeing the same thing with Desktop. Google has apparently changed the API so it requires the page to be hosted in an iframe. Desktop does not use an iframe to display webpages. However, if you publish to Desktop, the page will be hosted in an iframe and should work. (I know that's not much consolation if Desktop is your only option or final mode of presentation).
I've created an idea for Desktop to allow the embedding of web objects using iframes here: http://community.tableau.com/ideas/3216
Feel free to vote it up and maybe future versions will have the improvement. Or maybe it's already in the pipeline (here's hoping the forthcoming Mac version will force a move away from the IE browser control).
Thanks for confirming my thoughts. I had googled and found out about the API, but just wanted to get an idea if there was another way to do this. Sad to learn this has been changed, hope Tableau is working to find a workaround. I have voted up your idea.
Can you please tell me the sample URL you are using ?
Would the below be a correct one ?
Also please note that if your Tableau server is configured for certs, which is most likely for business scenarios, use https in the URL. Below is snip from the above link.
HTTPS or HTTP
I've just run into this issue as well - I noticed that the embedded Google map no longer worked in an old workbook of mine from Desktop, even though it still works from Server.
I had a bit of a read up on the Google API and worked out how to get the map to display on Desktop, by using the Google static maps API, instead. But unfortunately, as per this thread, that format doesn't work on Server/Public.
So the best I can come up with is to define a parameter in the workbook which can be set to "Desktop" or "Server" and have the calculated field for the URL conditionally build the expression in Server (iFrame) or Desktop (no iFrame) format. Just set the parameter to Server before publishing. No need to display the parameter of course.
The parameters and options are a bit different with the two APIs, so things like sizing the map correctly need a bit of playing around with. The API documentation states that you need an API key (which is free, but you need to allocate under your Google account) - though from a quick play it doesn't seem to be needed for low volumes of requests per day.
Here's an example of how the calculated field for the URL might look ([WhereAmI] is the parameter for Server or Desktop and [GoogleZoom] controls the zoom level you want:
IF [WhereAmI] == "Desktop" THEN
"&zoom=" + [Google Zoom] +
"¢er=" + STR(FLOAT([Latitude])) + "," + STR(FLOAT([Longitude])) +
"&zoom=" + [Google Zoom]
Timing is everything I guess.
I was just about to embed google maps into a dashboard for the first time and I'm now finding things have changed a bit..sigh.
I'm using v8.2 Desktop only, so the static API in Richard's IF = Desktop looks to be what I need. I have zero knowledge of Google API's and after looking at the Google Maps Embed API — Google Developers guide and Richard's code I can work through it. One question..I don't understand the API key "?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" functionality ..which is to say I'm not even sure how to ask about what I don't understand. Can someone offer some explanation of how this would work in the context of a Desktop workbook? Or maybe have an functioning workbook I can look at?
I tried the following - deployed to the server and got same message (where XXXX...) is my key fromGoogle API's :
Still get the message :
The Google Maps Embed API must be used in an iframe.
when running the Workbook from the Tableau Server using browser. Any ideas?
I've just checked the one and only viz where I've ever used this, which was the one below which I published to Public several years ago.
When I looked on the regular Public site it displayed the Google map fine. I then tried the beta for the next version of Public and that showed a white space (but no error about an iframe). After a bit of digging I found that that was because the new Public site works over a secure connection (https:) and won't allow embedded insecure content. So I updated the viz to use https: and republished and it then worked fine in both versions of Public.
Interestingly the map isn't displaying in the embedded viz below, but if you click on the viz it displays in a new tab and the map does display. That seems to be a different issue, though - no iframe message.
Anyway - bottom line is that it works for me without the iframe error - maybe download the earthquake viz and see if you can see what is different. The URL is constructed in a calculated field and applied to the embedded browser with a couple of URL actions.
I have tried downloading your workbook. I get a strange error - I am running Desktop(8300.15.0219.2230) 64-bit8 and get an error on opening your wookbook (after I have downloaded twbx to my desktop). Error message : "This file was created by a newer version of Tableau. Please contact Tableau to upgrade your version". I think I have the latest version.
I also noticed some strange behaviour I do not understand. When selecting the link I created below in my first comment - it takes me to the map. The URL actually generated in the browser showing the map is :
When taking that URL into another browser window. I get the iframe error.
Not sure why this is so hard
I am relatively new to the embedded URL functionality with Tableau as well.
Here's what I have run into, maybe it helps solve your issue.
I have embedded links as Actions to display google maps.
It is working fine for me except I have a google search bar that takes up a good amount of real estate.
I found a workaround for that and it is to add “&output=embed” to the end of my URL.
When I did this I then got the error message that you are getting
"The Google Maps Embed API must be used in an iframe."
So maybe if you remove the “&output=embed” from the end of your links you will have success?
I have been struggling with this issue too but I followed your suggestion (removing "output=embed" to the end of my URL) and it worked like a charm..
But when I published on line, the map window disappeared.. What I want to do is to embed the dashboard on my person website.. Is there any quick fix?? Any suggestion will be greatly appreciated..
FYI, I used Tableau Public to create this dashboard..
On Tableau Public
When published on-line...
I believe it will work on your desktop without the "output=embed" information to test the dashboard. Then before you publish to server, add the "output=embed" back to the end of the url.
I assume this is still an issue for people since the change in the Google API is still causing problems in Tableau Desktop. Here's a solution that I just posted on my blog.
The short answer is, use a web page to embed an iframe and load the web page in Tableau. Simply append this in front of your Google Maps URL in Tableau and it should work for you.
Thanks for all your work on this solution. I still can't get it to work though!!
Following you blog post, I am adding your url to the front of the Google map url that we are using, like:
I've tried it with and without the "&output=embed" but I have no luck
If I use other urls it does work. Is this something to do with Google?