I am currently working on a modelled fastest 20 fire fighting appliances into predetermined assignment areas (aa). The process I'm using is to create a centroid for each aa, then to load these as a destinations in an OD Matrix, with Fire Stations as the origin points.
The issue I'm getting is that the centroid is quite a few cases is snapping a road outside of the aa. In the example below the centroid in the pink point, and the location it has snapped to is the red point. I would like it to instead snap to the closest road that is within the aa.

I have tried loading in the AAs as a polygon barrier but when I do this, none of the centroids will match. Any ideas if there is a solution to this?
TIA