Мои проблемные проблемы, проверяющие/нормализующие вход пользователя для комбинации Страны и 'Города' во время регистрации. Идеально, я хочу функциональность, подобную OkCupid (http://www.okcupid.com/signup) регистрационная страница, где этот вопрос задают. Потеря внимания на Городское поле ввода проверяет вход так или иначе, и это удивительно хорошо в нем. Я попробовал небольшой провинциальный город в сельской Австралии (население <6000) и случайный город в Финляндии, и оба были проверены правильно и быстро.
Нормализация/Проверка важна, потому что я хотел бы нормализовать поле 'City' сгенерированного пользователями объекта события, чтобы позволить соответствовать против пользователей в том же месте.
Эта проверка имеет смысл оба с точки зрения прикладной логики (я не хочу иметь дело с 'Нью-Йорк Сити' = 'Нью-Йорк' = 'Нью-Йорк, Нью-Йорк' = 'нью-йоркское' болото), и пользовательская перспектива (другие пользователи, понимающие местоположение пользователя).
Я использую PHP и jQuery, если это имеет значение, но любое решение в этой точке не является более многообещающим, чем ничто!
Заранее спасибо!
РЕДАКТИРОВАНИЕ: Решенный! Yahoo обеспечивает PlaceMaker API - строковый парсинг местоположения свободной формы! 50 000 запросов на дневной предел:
Solved! Yahoo предоставляет PlaceMaker API - разбор строки местоположения в свободной форме! Ограничение 50,000 запросов в день:
Для целей проверки на следующем сайте есть ссылки на очень полную (и бесплатную!) базу данных международных городов.
http://earth-info.nga.mil/gns/html/
Нормализация - гораздо более сложная задача. Для этого вам, скорее всего, потребуется использовать проприетарный продукт. Одним из вариантов могут быть карты Google.