Первое, что приходит на ум, - это регулярное выражение, которое ищет адрес улицы, но важный вопрос - как ваша система будет определять адрес.
Это достаточно разумно, чтобы соответствовать чему-то, что будет достаточно согласованным по формату, как полностью определенный адрес улицы, но когда это что-то вроде "18-й улицы", откуда вы знаете, что они на самом деле не хотят ресторан под названием "18-я улица" «? То, что вы могли бы рассмотреть, является регулярным выражением, которое свободно пытается сопоставить адрес улицы и, если оно находит, вызывает геокодирование. Если геокодирование не возвращает никаких результатов, по умолчанию используется локальный поиск.