Help

Re: Zapier: Map Entire Table of Addresses with Latitude/Longitude via Google Maps API

5035 3
cancel
Showing results for 
Search instead for 
Did you mean: 

Does anyone have a Zapier workflow that ingests an Airtable table and then creates a Google Map that includes all records?

In a magical world, there’d be a way to layer multiple views, updated dynamically, on one map.

Thanks in advance!!!

21 Replies 21
Adam_Dachis
6 - Interface Innovator
6 - Interface Innovator

Awesome! And you’re welcome. I’m happy I could help. :blush:

Let me chime in here with a :thumbsup: for the Airtable Map Block. It is a nearly painless way to integrate Airtable with Google Maps. I used it for the first time recently for my San Francisco Tenant Buyouts base in Airtable Universe and was delighted with the results. I especially liked the feature where I could vary the size of the map indicator based on the value of another field — in my case, I used the per-tenant amount of buyout as the determining value.

A couple of caveats, though. The dataset as downloaded from SFData enclosed latitude and longitude values in parentheses, as such — (37.743953743370575, -122.42143054619228) — which kept the Block from working. I knocked out a quick formula that stripped off the offending characters — SUBSTITUTE(SUBSTITUTE({LatLong},'(',''),')','') — and everything went fine. Also, the base as published in Airtable Universe will not display maps until you enter your own Google Mapping API key in the Block configurations.

Here’s one of the maps from that base, color-coded by ZIP code and with marker size based on the per-tenant buyout amount.

buyout_map

Hugo_van_Schaik
4 - Data Explorer
4 - Data Explorer

Is there a way to get google street view images into Airtable and push those as attachments to cards in Trello?

I used to use ZeeMaps that synced with Google Sheets (which you can zap to airtable). ZeeMaps is a dynamic map with either push button sync or sync every few hours. The layers are custom as well as the map markers. I loved it because I could reshape/resize markers based on column data for situations where I had multiple markers (projects) at the same location.

However, to avoid the extra $19.99 I am using the AirTable map block and using two screens to go back and forth to filter my data (layers). However, w/out further manipulation to the data I cannot see multiple pins at the same location.
Now I am searching for a map API to incorporate my google calendar events on a dynamic map that is part of My Maps on not the app itself.

robert_cowling
4 - Data Explorer
4 - Data Explorer

@Adam_Dachis this is an old thread but I found your solution to be very helpful. I am new to Zapier and Airtable and am trying to geocode a bunch of existing records. The solution does work on a single record or a new record but how do I instruct zapier to run through every existing record in my airtable and geocode each one? When I goto update the airtable in zapier, I can select a record under ‘Customize Record’ but I want to do it for all existing records in the table.Thanks very much!

That’s a limitation of Zapier. If records already exist, they just won’t trigger. It’s why I prefer using the API for most things like this, but that’s obviously not a viable solution for everyone. There are a couple of workarounds to overcome this limitation. First, you can copy and paste the records, then delete the old ones so everything looks new to Zapier. This is the fastest and simplest option if you’re just trying to accomplish this once. Everything should remain intact after pasting and if anything goes wrong you can hit undo. Alternatively, you can have Zapier look for new records in a specific view and filter it on a checkbox field you create for that view. Then you can check the box on an existing record and Zapier should see it as a new addition. Once Zapier sees it in that view, however, it’ll never process it again. It’s not a good workaround if you’ll need records to update.

If you need to change records and have them reprocessed, you can create a zap in Zapier that runs at a set interval. I can’t remember offhand what the trigger is called but it’s probably “timer” or something like that. It’s the Zapier equivalent of a cron job. Basically, you tell it how often to run and then set it up to search Airtable for records that match something specific. You can create a status field in Airtable (with a single select or even just a checkbox) and then have Zapier search for records in that table with a checkbox. If it finds one, have it run the lat/long API call and update the record. As part of the record update, make sure to have Zapier uncheck the box/update the status field so it doesn’t keep trying to re-process the same record over and over again. If you have a lot of records they’ll update at a fairly slow pace, but this will work well for when you have occasional updates.

You can also do both of these things with date and time information (see here).

If you need to speed things along, you can also make a zap that triggers on a webhook. You can set it up so you pass the webhook URL that Zapier gives you the ID of the record you want to update. You basically just make a formula field in Airtable that creates a URL with that information and then you can just click that link in the record you want to update and Zapier will perform the operation instantly. This is kind of a long operation to explain, but I finished a guide on how to do this (for another purpose) a little while ago and I’d be happy to share the link once it’s published if you’re interested.

None of these solutions are perfect and, hopefully, there will be a better way to handle existing records with Zapier in the future. It’s very easy to do with the API so it’s definitely possible to implement in Zapier (because it’s basically a GUI for APIs). When I can find the time, I’ve been working on a simplified way of making Airtable API calls. It works great if you can write basic PHP code but I’m hoping to make a GUI that can handle this kind of stuff. I don’t have the resources to support something like that, but if it’s good enough I’ll share it anyway and maybe the community will pitch in and help make it better.

But for now, hopefully one of these options will work for you!

Just used the copy, paste and delete solution. Works great. Thanks a lot!

Glad to hear it! :slightly_smiling_face:

Moe
10 - Mercury
10 - Mercury

If you would like to generate a map out of your Airtable records and embed it on your website, we’ve built a tool that allows you to do just that.

RnJ
8 - Airtable Astronomer
8 - Airtable Astronomer

@Moe, any plans to make an extension to convert address to lat/long?