Hello @JDodd and first of all happy new year 
Ok, now I am getting the frustration that you had. I will try to update the documentation as this is a very common question that I have and it is not clear at the documentation. so your code will look similar to this (but there is a hint):
$crud->columns(['customerName','phone','your_field_name']);
$crud->setActionButton('your_field_name', 'fa fa-plus', function ($row) {
return "SITE/maps?q=" . $row->lat . "," . $row->lng;
});
However, this will not work as the lat and lng will not be available for your datagrid. In short, for performance and security reasons I’ve removed the * from the SELECT of all the columns that I had before from 2.8.0 and later. Now you simply have to specify the columns as invisible columns. So your example will look like this:
$crud->columns(['customerName','phone','your_field_name', 'lat', 'lng']);
// By using the fieldTypeColumn you specify that the `invisible`
// field type will only be on the datagrid columns
$crud->fieldTypeColumn('lat', 'invisible');
$crud->fieldTypeColumn('lng', 'invisible');
$crud->setActionButton('your_field_name', 'fa fa-plus', function ($row) {
return "SITE/maps?q=" . $row->lat . "," . $row->lng;
});
I hope this will work for you.