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