I tuoi articoli sono una raccolta di articoli non un modello, quindi non puoi eseguire il metodo della distanza su questo oggetto. Devi usare foreach e trovare la distanza tra la posizione dell'utente e ciascuno degli elementi.
foreach($items as $item) {
$distance=$item->distance($userPosition);
}
Ora nella distance metodo calcolerai la distanza tra la posizione dell'utente e l'oggetto.
In secondo luogo cambia $items->groupBy('listings.id') essere $items->groupBy('listing_id') dove listing_id è il campo su items tabella