Sus artículos son una colección de artículos, no un modelo, por lo que no puede ejecutar el método de distancia en este objeto. Tienes que usar foreach y encontrar la distancia entre la posición del usuario y cada uno de los elementos.
foreach($items as $item) {
$distance=$item->distance($userPosition);
}
Ahora en la distance método calculará la distancia entre la posición del usuario y el elemento.
En segundo lugar, cambie $items->groupBy('listings.id') ser $items->groupBy('listing_id') donde listing_id es un campo en items mesa