Public safety geocoders in particular like to give cross-street names to first responders navigating to street addresses, their local knowledge helps them decide what streets 'book end' the block they are heading for.
Building a locator that does this starts with getting cross street data into your street centerline feature class you are using for locator reference data. Here are some streets in Redding, California where I have derived cross street fields for a feature class, the pop-up relates to the selected street segment and I have highlighted the added cross street fields:
Inspecting Cross Streets Made By The Tool
ArcGIS Data Interoperability comes to the rescue here, especially the TopologyBuilder transformer. In the past I have done all sorts of math in Python to calculate data structures I can query for cross streets but I much prefer the no-code approach. If you go way back in ArcGIS, like some people I know, you may recall that arc-node topology was baked into the storage model for polygonal features. This is no longer the case in a geodatabase, nor is it easy to make - except with ArcGIS Data Interoperability. So that is what I used in the ETL tool in the post download (requires ArcGIS Pro 3.3 and the ArcGIS Data Interoperability extension):
ETL tool that makes cross streets
I'll let you surf the tool yourselves, but in thumbnail I read in street reference data, send the geometry, ObjectID and a full street name attribute into some processing that figures out cross streets, then join these back onto the street features and write out a new feature class. I don't include the data but it is publicly available so you can test drive the tool for yourself after repairing paths.
In the download toolbox there is also a model that creates a locator (also included) with custom output fields for cross streets, and here it is in action with a 'What's Here?' query in a map.
You can get to the area by a geocode to 2500 CELESTIAL ST, Redding, 96002 with the supplied locator.
Cross Streets Returned By The Locator
In production, street centerlines would often be used as one primary table in a locator that also uses point address data and zone features, and to access the cross street values from a geocode service you might have to use a category filter of 'Street Address'.
If you need help putting this together please contact your local Esri representative or use the comments feature in this post, I'll be listening!
GeocodeReturningCrossStreets.zip