Styled Google Map on the Mapping web app

posted May 8, 2017, 12:38 PM by Faustino Rodriguez   [ updated May 8, 2017, 12:40 PM ]

The Mapping web app accepts styled map definitions for Google Maps.
The extra custom Styled map option will appear right beside the standard Map and Satellite styles, for you to choose or even set as the default option.

As described on this page styled map definition is an array of three types of objects (featureType,  elementType, stylers) with scopes and properties, that combined produces an amazing effect.

You won't need to be an expert on map colors, just search on the Snazzy Maps repository (or other of your preference) for the styled map that matches your requirement. There are over 11,000 styled map definitions and counting.

When you find "your matching style", if you are using the Mapping Sheets add-on, you just need to copy the code (click on the copy-code-to-clipboard button) and then paste it on Preferences > Map > Styled map definition input box. Optionally select to set this style as the Default on loading and save.

On your next BUILD you would get the Style option on your map.

See a simple sample below, copied from this page to get an idea of the structure
    "featureType": "all",
    "elementType": "all",
    "stylers": [
        "visibility": "simplified"
    "featureType": "all",
    "elementType": "geometry.stroke",
    "stylers": [
        "visibility": "simplified"
    "featureType": "all",
    "elementType": "labels.icon",
    "stylers": [
        "visibility": "off"

Thanks to Snazzy Maps for providing such a wonderful tool, for the rest of us.

p.s. The styled map definition array for the Mapping web app, is just a key entry in your .json data file with this path: custom > styledMap. Optionally set custom > styledMapDefault as true

Mapping Sheets is splitting into ...

posted Mar 28, 2017, 10:11 AM by Faustino Rodriguez   [ updated Mar 29, 2017, 4:15 AM ]

We are announcing an upcoming change!

Mapping Sheets is splitting into:
- The Mapping Sheets add-on
- The Mapping web app

First, the Mapping Sheets add-on will read your data from Google Sheets and create a .json file on your Google Drive. Then, the Mapping web app will process the .json file and plot your data directly onto a map. You can get your data from Google Sheets and onto a map in just a few clicks.

We’re also introducing a Basic Free Plan and an Advanced Premium Plan for Mapping Sheets add-on users. We made this choice as a way to sustain this project and to keep making it better for you. We want to continue providing a high level of service and support to all of our users.

Don’t worry, the Basic Free Plan will still have plenty of features—but the Advanced Premium Plan will have new, exciting features that we think you’ll love.

Otherwise, the Mapping web app is free to access, publicly available with no fee, no credentials are required for access, and the code is available on GitHub, for anyone to use.

Here are the new Mapping Sheets add-on plans:

➧ Basic Free Plan: Up to 50 locations per map. Includes all the basic (−) features.

➧ Advanced Premium Plan: No restrictions in the number of locations per map. Includes all the basic (−) and advanced (+) features.

(†) Disclaimer: The Advanced Premium Plan does not avoid service errors, limitations and quotas like Google Geocoding daily quota, Google Drive maximum file size, etc.

The Mapping Sheets add-on Advanced Premium Plan contribution is USD $25 / year

These changes will be going live soon, and the current Beta version will no longer be available after that.

Please, let us know your questions and comments by submitting your feedback.

G Suite Business: A few new very compelling reasons to upgrade

posted Mar 14, 2017, 5:21 AM by Faustino Rodriguez   [ updated Mar 14, 2017, 5:25 AM ]

As Google Next 2017 event closed up last week, I have gather a few news among the many, where Google is showing their focus on your Business

The top 5 in my view, that will make you switch to G Suite Business (formerly Google Apps Unlimited)

1. Team Drives - a Drive space for each team / project
* The files owner is the Team, not each file creator user
* Quick access powered by machine learning

2. Drive File Stream - quickly stream files directly from the cloud to your computer
* No more Google Drive local syncing, on demand data stream from the Cloud to your local app

3. Vault for Drive, Teams and Groups - eDiscovery and retention / archiving solution
* As for Gmail, now including content retention for Drive and Team Drive files

4. Hangouts Meet and Chat - new enterprise ready communication tool
* 30-person easy access video conferences without accounts, plugins or downloads
* Virtual chat rooms for each team / project, fully integrated and searchable

5. Gmail add-ons - your other apps functionality within Gmail
* Expect your preferred apps (CRM, PM, Accounting, etc) coming to Gmail as "a card"

Resources for further review:
- Top 5 for G Drive Introducing new, enterprise-ready tools for Google Drive
- Hangouts Meet and Chat: Meet the new enterprise-focused Hangouts
- More? 100 announcements (!) from Google Cloud Next '17
(see 45-54 for G Suite related)

Warning: Problem loading the .json data file for mapping

posted Nov 7, 2016, 9:52 AM by Faustino Rodriguez   [ updated May 2, 2017, 5:16 AM ]

If you are reading this post, you more likely got a warning message as follow, when opening the Mapping web app.

The map data files are those .json files the Mapping Sheets add-on creates within the xsMapping folder in your Google Drive. The Mapping web app reads that data file using an ajax call.

If that data file is not Public (shared with view access to anyone, as expected) you might have this issue in any of the following scenarios:
  1. You have no access to that file because the map was built by other person
    > Ask that person to share the .json data file or the whole xsMapping folder with you, at least with view access

  2. You are logged in the browser with multiple Google accounts and not using the default account, but the default (first) account has no access to that .json file.
    > Try logging in with just one account, or
    > Share the xsMapping folder in the non-default account with your default account

  3. A "malformed" json data file could also cause this issue. The add-on should fix / avoid some of these scenarios in the future, like
    > No proper headers in the first row (gathering some samples ...)
    > Strange - invalid - characters within your content, like 
 (unicode 0x2028) and maybe others

  4. Some users have reported other seldom situations provoking this issue, like
    > Privacy Badger extension blocked the ajax call.  Turning if off for the Mapping app page solved the issue
    > Bitdefender and the "web-protection, against phishing toggle", when on causes the blockage
    > AdblockPlus blocking resources to load

  5. Some instances on the Safari browser are causing this warning
    > See details below

  6. There might be other causes we are not fully aware yet?

If you want to share your map with others, you have to share the xsMapping folder (or the specific json data file there) with those other users, or make it Public (anyone can view) if you want to be accessible by anyone.

How to know if I am logged in the Chrome browser with multiple Google accounts?
> Open a new tab in your Chrome browser and click in your picture or initial in the top-right area of the new tab content.
See a sample screenshot below showing multiple accounts active in the same browser session

Some instances on the Safari browser are causing this warning
When the .json data file is not public, Safari might throw a "too many http redirects", when accessing the data file. We still don't know the root cause, but it looks like Safari does something different to the other browsers.

The solutions might be any of the following, as applicable:
  1. Use the Chrome browser
  2. Share xsMapping folder (or the specific json data file there) as Public (anyone can view)
  3. Follow the instructions suggested by Apple in this post (it worked for some users, including us)

Mapping Sheets add-on update: No more Public folder is required

posted Apr 25, 2016, 5:54 AM by Faustino Rodriguez   [ updated May 17, 2016, 9:35 AM ]

In summary, starting from version 1.301sv32 (published on May.03, 2016) the add-on folder (xsMapping) within your Google Drive account, no longer requires to be publicfor hosting the mapping webpage and your data files.

The common mapping.html webpage is now in a public hosting, while your data files (those *.json files) remain within the xsMapping folder in your own Google Drive account, but that doesn't require to be public anymore.

That's it.

Now the details, if you want to read further (no need for most of the users though)

First, the potential issues
  1. After updating to this new version, you have to Build your map again, because the previous json data files won't work on the new mapping web page.

  2. If you are logged in your browser using multiple Google accounts, you might not be able to see your data in the map. Please, be sure you are logged in using only one account, if that happens. Or alternative, you can share the xsMapping folder (or the specific json data file there) with all those accounts you are using on the same browser session, so any of those accounts has access.

  3. If you want to share your map with others, you have to share the xsMapping folder (or the specific json data file there) with those other users, or make it Public if you want to be accessible by anyone.

  4. The mapping page in current update is not working in some instances of Safari browser (we have so far about 5 reported cases). We still don't know the cause, but looks like Safari does something different to the other browsers.
    These are the solutions that have worked so far for some users:
     a) Follow the instructions suggested by Apple in this post
     b) Share xsMapping folder (or the specific json data file there) as Public

  5. Any custom icon images per user (those you might have defined in Icons sheet), without explicit full URL path, will not longer show up. This is because the actual mapping html page is no longer in your Google Drive, so there is no relative URL path going there.
    If you are among the few using this advanced feature, you need to provide the full URL path to your custom icon images (see below some hints on how to do that)

  6. Any previously bookmarked map webpage link will stop working after you build a new map .json file, because the data file format has changed a bit. This will include the cases, when you have embedded the mapping page in another website.
    You need to modify / update the mapping webpage link to the new URL you would see when viewing a new built map in your browser.

  7. Even though it's not an actual issue, we want to mention that in the first loading of this new version, we are updating the sharing settings on xsMapping folder from Public, back to the default Private. This however, won't change any specific users sharing you have created for that folder.

  8. We are not aware of any other issues so far, however we might have overlooked some specific scenarios in the way you are using this add-on. We are updating this post as we learn from your feedback. Thanks for your valuable support.

    open a support ticket if you have any other problem.

The background story
  1. When this add-on was first published in 2014, among the few secure and free of maintenance options, to host the add-on mapping page, we chose using each user's Google Drive as the web host, just to keep everything within each user Google account.

  2. Starting on Aug.31-2016, hosting and serving web pages from a public Google Drive folder or file will be discontinued and will stop working, as explained in this Google announcement from last year.

Hints on working out the potential issues
  1. Custom icon images require full URL path to a qualified web host, preferable with https, as explained above.

    If you have something like this in your Icons sheet, within any spreadsheet
    AccessoriesBlue{ "url":"icons/my-blue-icon.png"}

    You need to use a full URL path. See some options / hints below:

    a) Hosting your custom icon images in a website you own (recommended)
    AccessoriesBlue{ "url":""}

    b) Keeping your custom icon images hanging from xsMapping folder (valid until Aug.31, 2016). You'd need to set the xsMapping folder sharing back to public in the web, for this to work.
    AccessoriesBlue{ "url":""}

    c) Keeping your custom icon images hanging from xsMapping folder and using an export option. This might not cache the images, slowing down the map loading (avoid if possible). You'd need to set the xsMapping folder sharing back to public or at least by link, for this to work.
    AccessoriesBlue{ "url":""}

  2. Bookmarked (favorites or embedded) mapping page links need a URL update, to the new path and parameter.
    Just build a new map (Build button), then click on View button and get the URL of the mapping webpage.

Every OS sucks, almost?

posted Jan 18, 2016, 7:09 AM by Faustino Rodriguez   [ updated Jan 18, 2016, 7:12 AM ]

I have been enjoying this song for more than 10 years now, and I couldn't agree more every time I watch the video.

Last month I got stuck for 2 hours on a client site, just following a regular Windows 10 update.
And the latest, three (yes, 3) days from a factory reset on a Windows 7 laptop to upgrading to Windows 10.
Not that painful, but noticeable bothersome it's an update in my Ubuntu Linux box, and kind of the same in a Mac notebook (Linux-based, BTW).

However, there is still some hope when upgrading my Chromebook laptop, that is my main computer since last April
The Chrome OS update just take a normal restart (about 10 seconds) to complete, that's it, just a normal restart.

I guess this is possible because the Chrome OS is a minimal hardware-optimized Linux version, running a single though powerful application: the Chrome browser, with everything else within.
So, while Google keeps the OS that way, there is hope that almost every OS sucks, but the Chrome OS.

Mapping Sheets: Custom Icons on your Google Maps

posted Jun 15, 2015, 9:54 AM by Faustino Rodriguez   [ updated Apr 11, 2017, 9:38 AM ]

When building your .json data files with the Mapping Sheets add-on, by default it will use the standard icon set, with current default shape, and colors assigned in a predefined order.

However, you can choose your own custom colors and shapes, associated with each value of the column you select as Filter

In this partial screenshot there some custom color and shape, as an example

Now, let's briefly explain how you can customize the marker icons (also known as pins) in your Mapping web app page

1. No custom colors or icons, just using the defaults
This is the most common option because most people are fine with the default icon shape the add-on is using.

The default icon colors are coming from the valid HTML color name list, but sorted to provide some contrast among them, e.g. the first 23 colors the add-on will use by default are:
Blue, Brown, Aqua, Green, Magenta, Orange, Purple, Red, Yellow, Maroon, Gray, Lime, Olive, Teal, HotPink, Aquamarine, LightSteelBlue, BlueViolet, Chartreuse, Chocolate, CornflowerBlue, Crimson, DarkSlateGray

The default icon shape is a "standard" map icon as show in the image above, using sample data

2. Keeping the default icon shape, but using custom colors
If you are fine with the default icon shape, but want to have a specific color for each of your location groups, just do as follow:
- Create a new sheet with the name Icons within the spreadsheet where you want to customize your marker icons
- Then, just add the columns Group and Color, and list below the unique values of your filter / group and a valid color name for each. see a sample below, using demo data:


3. Using your own icon images
If you want to use your own icon images, you can do as follow:
- Do as point #2 above but adding instead Group and Icon, where you'd enter your icon's Url references
- Follow the format shown in the table below
- The icon image files could be .png or .svg
- The icons must be hosted under https://
- You can use Google Sites under your account for that purpose, if you don't another option
See a sample below using demo data and assuming your icon images are hosted at within an icons folder:

1-Hints{ "url":""}
Extras{ "url":""}
Issues{ "url":""}

- You can mix custom Color and Icon as well on different lines

Mapping Sheets new version announcement - February 2015

posted Feb 12, 2015, 10:42 AM by theXS Assistant   [ updated Jun 16, 2015, 5:09 AM by Faustino Rodriguez ]

On the new overhauled version launched on Feb.14, 2015 (Valentine day gift?), the Mapping Sheets with Google Maps add-on is including quite a few important changes, most of them in line with our 2015 new year resolutions.
We are planning to write separate posts (as time permitted) with more details on some of the changes, but for now, let us list and briefly comment on all of them (sorted by the impact on users)
  1. New approach to marker icons (the most requested improvement ever) including now by default only 14 different colors (basic palette) an a flag-like shape as icon, but with several options for fully user's customization based on the filter / group value, including two levels: (i) just custom colors keeping the default shape, (ii) colors plus anything else, like shape, size, image url, or even the old marker sprites. As part of this change, the filters in the left sidebar are now using standard check boxes, but filled with the assigned colors. See below a draft outline for a post still to be written.
    This change might affect those users (less than 10) that customized the markersprites.png file, but I hope they would be happy with all the new options, and create even better icons.

  2. Data files for mapping (those *.json files within the add-on folder in your Google Drive) are now using a GeoJson data layer, an open standard format included by Google last year. This would open endless possibilities ahead. However, there will be no more clusters of icons, as they are not supported on GeoJson data layers.

  3. Enhanced default info-window (the bubble that shows up when clicking a marker icon). Even though still not customizable, it will now render html tags within that window, so if you want to show an active link or an image you can put those lines in your data spreadsheet, see a couple below:
    <a href='' target='_blank'>Visit theXS website</a>
    <img src='' height='64' width='64'>

  4. Some minor improvements to make the map page a bit mobile friendly, removing the top line header menu, including a 3-step menu button to hide / show the left sidebar, no more padding for an actual full screen map, etc.

  5. We are not describing here a few more changes and new features that have no external effects from the users view (like, no more camel notation, sheets access to only current document, etc)

No more pass-word with Google Apps?

posted Feb 5, 2015, 12:58 PM by Faustino Rodriguez   [ updated Feb 5, 2015, 2:06 PM ]

Last year the most common used - worst - passwords list started with "123456" and "password". When talking about passwords, other than unique could be considered a bad choice.

There is a lot already discussed and published about this topic, so I am going to be simple and to the point.

The very nature of a pass-word: "hard to guess by others, easy to remember by me" makes any pass-word doomed to failure, there is no such a word.

When we accept that reality, then we can consider the options:

1. Create a pass-word out of a unique-to-you phrase, like a pass-phrase would be, e.g
    IwboF13iNY. - It's coming from "I was born on February 13 in New York.", or even more personal
    WIw13,Ibma. - That is coming from "When I was 13, I broke my arm."
(Do Not reuse any pass-phrase)

2. If you are lucky enough and using Google Apps, then enroll right now in the 2-step verification choice from your account, a higher security level, based on "something you know (a simple password or pin) and something you have", where something you have is your phone.
    After passing the password requirement, you will be asked for a code that you would receive in your phone (text or voice) or you can even produce with the Google Authenticator app, if using a smartphone.

3. One step further up into security is adding a USB Security Key to the 2-step verification process, like the one shown right here before snap it out (it's pretty & small). Those are FIDO U2F Ready (Fast IDentity Online Alliance - Universal Second Factor)

Good luck, anyway.

ps. read more about the top 25 common passwords on this page.

2015 Mapping Sheets with Google Maps, new year resolutions

posted Dec 31, 2014, 9:17 AM by Faustino Rodriguez   [ updated Jan 7, 2015, 1:34 PM ]

As any other wishes list, this new year 2015 resolutions for Mapping Sheets add-on would be just a high view route / guidance.
And also, as any other, we will change it over the new year, hopefully for the better.
Here it is, Mapping Sheets on 2015 milestones / path
  1. Introduce GeoJson data layer format as the standard for data files. This would open endless possibilities ahead

  2. Change the default icons from sprites image to coloured shape icons, using SVG path format. Also allowing for user's own icons in various levels, like color, shape, and even the old sprites image

  3. Improve user's customization through different approaches, including in App settings dialog, in Sheet definitions, and also by Developer on request Config file

  4. Make the Map webpage mobile friendly, by including a 3-step button () to hide / show the left sidebar allowing full screen map. Also removing the 1-line header.

  5. Provide an optional / on request mapping web page on a public host for those users whose domain doesn't allow to share a folder as Public.

  6. Allow for private data file as an exception, using a call back token when viewing the map

  7. Add an optional optimal routing with directions over the map, for selected locations

  8. Revamp the add-on and the map user interface using Angular Material, an into the future combination of AngularJS and Material Design

  9. Introduce an optional automatic trigger that updates the data for the map, this trigger could be time-based and in response to changes on the sheet.

  10. Under "Show surrounding area of" use a text box to enter any radius value, combined with a list box with more units (m, km, ft, mile)

ps. As well as any other, it's still unfinished, however we are including your suggestions.

1-10 of 50