Solving Embedded Embedded Google Maps Issues

Solving Embedded Embedded Google Maps Issues

When a custom Google Map is shared by embedding it on a page, the map is only viewable to Google users (and non-authenticated users) who have access to Google Maps.  Most Google users have access to maps, so these embedded maps are not usually a problem.  However, if a managed Google user (like a user logged in with a @utexas account) has been blocked from accessing Google Maps by their account manager, the embedded map won't display.

This was noticed with a map embedded in a WeTeach_CS blog post showing Collaboratives on a map.  Normal users saw the page as:

However, users logged in with a @utexas account saw no map on the page.

One way to solve this issue is to create the map using the Google Maps JavaScript API instead of the interactive maps creator.  Instead of sharing a map created by another user (which is where the user permissions issues come into play), using the JavaScript API renders the entire map client-side, allowing visibility to managed users blocked from Google Maps.

An example of using the JavaScript API to display a map showing two of the Collaboratives in Texas is available here.  This JavaScript can be embedded in any page and will be visible to all users.

To load map data from a CSV or SpreadSheet (including google drive sheets), import the data into a Fusion Sheet.  These sheets support geocoding addresses.  Once the data is in the fusion table, it can easily be loaded into the embedded map as demonstrated here and documented here.