Posts


New Features Roadmap

posted Feb 20, 2018, 4:10 PM by Faustino Rodriguez   [ updated Feb 26, 2018, 1:22 PM ]

The Mapping Sheets add-on and the Mapping web app were built out of our client requirements, and they have grown on the last few years thanks to your valuable feedback and support.

With the idea of adding some predictability and confidence in the future of this solution, we have put together this simple page with the new features roadmap we are already working on, including also those we are still dreaming about.


Stable in  production (deployed)

All stable and documented features, for both the Mapping Sheets add-on and the Mapping web app, are listed in the Google Add-ons store and in the add-on main page.


Going live (deploying)

These features are either already live or deploying soon, but not yet listed in the store

+ Find a place, draw a circle around, with option to filter locations within its boundaries
+ Set the optional data headers row in case it's not the row #1 as default
+ Define a Location Template using placeholders for headers if the full address is split across several columns
+ Set and apply a custom style definition for your map, with thousands available online


Working on it (developing)

+ Marker Clusters ... for better performance and navigation
+ Faster filtering by using a debounce asynchronous function
+ Filter for a value greater than a number,  like a standard slider with the active section on the right
+ Filter for a range of numbers, like a standard slider with two thumbs
+ Improve map sharing workflow with a prompt dialog and detailed documentation

Waiting in the Queue (designing)

Filter for date value (equal to a date), dates must be on yyyy-mm-dd format
+ Filter for a date range (from to dates), dates must be on yyyy-mm-dd format 
+ Optimal route with options for round trip and start/end locations on Listing
+ Change the icon shape based on a selected column values, while keeping the filter's color

* Unattended time-based BUILD if something has changed in the datasheet within an hour
+ Apply a weight factor to each icon, depending on a selected column values, either as a circle around or icon scale
+ Other map layers like polygons, heatmap, overlays, etc


Wishlist but doable (dreaming)

* Real time map update on form submit new data


Notes on recent (ongoing) Quiz

When asking for your feedback on
"Which feature do you most want to see implemented in 2018 on the Mapping Sheets add-on?"

After processing hundreds of responses to our recent quiz, the top three (3) requests are about:

1. Routing (directions and optimal route for a list of locations)
2. Sharing (better workflow and documentation on how to share my map)
3. Documentation (improve, organize, consolidate, simplify)

Other relevant requests are: Unattended Build (map auto update), Other Filter Types, Other Map Layers, More Icons, Overlapping Icons, Export Map and Listing


How to share my map

posted Feb 16, 2018, 11:33 AM by theXS Assistant   [ updated Feb 26, 2018, 10:23 AM by Faustino Rodriguez ]


In addition to send them the full link (Url) of your map, you have to share that .json file (your map data file) in your Google Drive for View access with them

1. To share your map, share the .json file with anyone you want to allow to view (access) your map. You can do this from the add-on sidebar > ⋮ menu > Share my map.

2. Then, send them the full link (url) to your map so they can open it.


TL;DR

Background notes

- When you click BUILD in the Mapping Sheets add-on, it creates a .json file in the xsMapping folder in your Google Drive, ready for mapping using the Mapping web app
- The name of that .json file is based on the spreadsheet and sheet names for easy recognition as follows:
   spreadsheet-name-sheet-name.sheet-id.json
- By default, your map is private (only you, the owner, can access it) 
- If you want to share your map with others, you have to share that .json file with them with “Can View” access
- The “Share my map” option (in the ⋮ menu in the add-on sidebar) will open the G Drive sharing settings for that .json file. Add the Google accounts (emails) you want to give access to your map.
- Please note: If you delete the .json file or change the name of your spreadsheet or datasheet, the add-on will create a brand new .json file that you will have to share again
- Alternatively, some people just share the xsMapping folder with others, so they will have access to all your maps if you send them the map link
- The map link ends with a scrambled ID (e.g. “?fid=long-scrambled-id”) that is very hard to guess if you don't have the full link
+ Find more details and a workflow diagram 'from Sheets to Drive then Mapping' on this page:
http://www.thexs.ca/xsmapping


The map link (Url) consists of two parts
- the Mapping web app Url:
https://thexs-mapping.firebaseapp.com/mapping.html
- And your .json file id as a parameter
?fid=your-json-file-id-goes-here

The .json file in your Google Drive is created when you click on BUILD button and it contains all the settings and data of your map, ready to be open by the Mapping web app

In addition to send them the full link (Url) of your map, you have to share that .json file in your Google Drive for View access with them, as follow

- In the Mapping Sheets add-on after building your map, open the 3-dot menu in the sidebar top-right corner



- Then select "Share my map"


- It will take you to the Google Drive sharing settings for your .json file (your map data file) as shown below


- Select "Can view" as the access level and enter the Google account emails of the persons you want to view your map, then click Done

- If you anybody to view your map without having a Google account, you would have to share the .json file for Public or Anyone with the link can access
Click Advanced, then select the Link sharing option you want



Using multiple columns for Geocoding with a Location template

posted Sep 5, 2017, 4:37 PM by Faustino Rodriguez   [ updated Sep 6, 2017, 10:25 AM ]

In most cases, you might have the full address for Geocoding under a single column, like showing below

Address
100 City Centre Dr, Mississauga, L5B 2C9, Canada

In those cases you only need to select the column Address as the Location, in the sidebar (partial screenshot below)


However, it might be the case you have the full address split across several columns, like showing below for the same place

AddressCityPostcode
100 City Centre DrMississaugaL5B 2C9

In that case you can combine several columns and even include some static content, instead of just using the column Address.

You can try as follow, using the same headers example
  1. Select the column Address as the Location as you did before

  2. Select Preferences from the 3-dot menu in the sidebar and then select the Document option from the menu

  3. Finally create the Location template there to combine the headers Address, City and Postcode, also adding the country Canada (assuming all the locations are in the same country), as follow:
    {{Address}}, {{City}}, {{Postcode}}, Canada

    The text between {{  }} could be any of the headers in your Sheet
     
  4. When building a new map, this template will produce an address for Geocoding matching the full address (e.g. 100 City Centre Dr, Mississauga, L5B 2C9, Canada)

Please, try this feature first with a few rows of data, until you get the desired results, to avoid unneeded calls to the Google Geocoding service

Styled Google Map on the Mapping web app

posted May 8, 2017, 12:38 PM by Faustino Rodriguez   [ updated Mar 4, 2018, 7:51 AM ]

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 expand-code button, select all from [ to ] both included, copy) 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 Feb 16, 2018, 10:05 AM by theXS Assistant ]

If you are reading this post, you probably received the warning message below when opening the Mapping web app: 



What's a .json data file?
The .json data file is the map data file that the Mapping Sheets add-on creates in the xsMapping folder in your Google Drive. The Mapping web app reads that data file using an ajax call.

How do I solve this problem?
  1. You might not have access to the map data file because the map was built by someone else.
    > 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 into the browser with multiple Google accounts and are not using the default account.
    > Switch to your default account, or
    > Share your map with the other accounts you are using.
          If you want to Share your map with others, share the xsMapping folder or the specific json map data file with those users.
          If you want the map to be Accessible by anyone, you can make the folder or the json file Public (Anyone can view).
    > How do you know if you are logged in with multiple accounts? See more details at the bottom of this page.

  3. You might have an invalid json data file. This could be caused by the following issues:
    > No proper headers in the first row.
    > Invalid characters within your content (e.g. 
 Unicode 0x2028).

  4. Some users have reported other situations provoking this issue, like:
    > The Privacy Badger extension may block the ajax call. Turning it off for the Mapping app page usually solves the issue.
    > When ON, Bitdefender and the "Web-protection, against phishing toggle" may cause blockage.
    > AdblockPlus may block resources from loading.

  5. Some instances on the Safari browser have caused this warning in the past:
    When the .json data file is not Public, Safari may show a "Too many http redirects" error when accessing the data file. We still don't know the root cause of this, but it looks like Safari does something different from the other browsers.

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

  6. There might be other causes we are not fully aware of yet. Please submit a feedback ticket to our support team if this error keeps occurring.

How do I know if I am logged into the Chrome browser with multiple Google accounts?
Open a new tab in your Chrome browser and click on the round picture or initial in the top-right corner. You will be able to see all the accounts that you are logged in with. If you are not logged in with your default account, the text "(default)" will appear next to your default account.






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.

    Please,
    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
    GroupColorIcon
    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)
    GroupColorIcon
    AccessoriesBlue{ "url":"https://my-own-website.com/icons/my-blue-icon.png"}

    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.
    GroupColorIcon
    AccessoriesBlue{ "url":"https://googledrive.com/host/folder-id/icons/my-blue-icon.png"}

    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.
    GroupColorIcon
    AccessoriesBlue{ "url":"https://drive.google.com/uc?export=view&id=my-blue-icon-file-id"}

  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:

GroupColor
1-HintsAqua
ExtrasOrange
IssuesOlive


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 my-own-website.com within an icons folder:

GroupIcon
1-Hints{ "url":"https://my-own-website.com/icons/my-icon-aqua.png"}
Extras{ "url":"https://my-own-website.com/icons/my-icon-orange.png"}
Issues{ "url":"https://my-own-website.com/icons/my-icon-olive.png"}

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

1-10 of 53