Адрес, который выглядит совершенно естественно в одной стране, может казаться записанным задом наперёд или просто неправильным, если он оформлен по правилам другой страны. Порядок, в котором идут номер дома, название улицы, населённый пункт, регион и почтовый индекс, определяется национальными, а иногда и региональными правилами, а не единым универсальным шаблоном, и считать порядок своей страны естественным или стандартным это одна из самых распространённых и легко предотвратимых ошибок при создании всего, что работает с международными адресами.
По одним правилам номер дома ставится перед названием улицы, по другим после. В одних странах почтовый индекс пишут перед названием города в той же строке, в других после, а в некоторых выносят на совершенно отдельную строку. Порядок города, региона и страны тоже различается, а несколько стран строят адреса сверху вниз по административной иерархии, так что они читаются почти наоборот по сравнению с правилами, построенными снизу вверх, начиная с конкретного здания.
Это важно для двух совершенно разных частей системы. Обработка ввода, особенно текстовых полей адреса, должна по-настоящему терпимо относиться к различиям в формате, а не ожидать жёсткого шаблона, поскольку реальные пользователи, вводя адреса своей страны, естественно пишут их в привычном для этой страны порядке, а не в том, под который была спроектирована ваша форма. Форматирование вывода, то есть отображение возвращённого адреса пользователю, в идеале должно соответствовать правилам страны назначения, а не всегда показывать каждый адрес в одной фиксированной раскладке с номером дома или индексом в начале, независимо от того, где он на самом деле находится, поскольку адрес в местном формате читается естественно, а в чужом формате заметно режет глаз, даже когда все его компоненты верны.
Само геокодирование, как правило, устойчивее к порядку компонентов, чем наивный парсер, особенно когда оно рассматривает входные данные как цельную строку для сопоставления с известными справочными данными, а не ожидает компоненты в строго заданной последовательности. Тем не менее тестирование обработки адресов именно на правильно оформленных примерах из разных стран, а не только на переставленных вариантах формата вашей страны, выявит пробелы в вашей собственной логике проверки и отображения задолго до того, как с ними напрямую столкнутся иностранные пользователи.
Если вы создаёте ввод или отображение адресов для международной аудитории, стоит намеренно протестировать их на нескольких странах, правила которых заметно отличаются от ваших, а не предполагать, что один шаблон подойдёт всем. Наш эндпоинт прямого геокодирования спроектирован так, чтобы терпимо относиться к этим различиям во входных данных, но окружающую его логику проверки форм и отображения адресов стоит отдельно проверить на том же разнообразии.