Получить двухбуквенное сокращение штата / провинции
Поэтому я использую API GeoNames для получения информации о стране и штате / провинции, которую я использую для заполнения выбранных выпадающих списков в форме. Эта форма передает информацию в веб-службу SOAP, а сервер SOAP понимает данные страны и штата / провинции только в двухбуквенной форме. то есть. CA для Канады, США для США. API GeoNames предоставляет эту информацию для разных стран, но не для их детей (штатов / провинций).
Кто-нибудь знает, как получить двухбуквенное сокращение для штата / провинции / территории от GeoNames или есть другой API, который я могу попробовать?
3 ответа
Я не знаком с API GeoNames, но, похоже, вы получаете коды стран ISO-3166 alpha-2: http://www.iso.org/iso/country_codes.htm
Если это так, ISO 3166-2:2007 определяет штаты и провинции. На странице выше описано, как приобрести информацию в базе данных и других форматах.
Если не требуется получать эту информацию от веб-службы, я думаю, что проще прочитать выпадающий список из статического файла определенного типа и создать механизм для периодических обновлений. Этот тип данных не должен меняться так часто (ну, по крайней мере, в стабильных странах).
В соответствии с @user640118, сокращения штатов не часто меняются, если вообще когда-либо, в Северной Америке. Лучше всего иметь статический список кодов или сокращений.
Однако, чтобы ответить на ваш вопрос, я работал над одним таким веб-сервисом под названием LiveAddress, который предоставляет гео / почтовые данные через простую конечную точку REST. Однако он немного более продвинутый в том смысле, что он принимает адрес, частичный или полный, и заполняет его полностью, проверяет и стандартизирует. Это может оказаться полезным для удаления дубликатов и геокодирования данных ваших пользователей.
Если у вас есть адрес, вы можете использовать эту функцию-обертку следующим образом в Javascript:
LiveAddress.verify("123 main st 12345", function(results) {
console.log(results);
});
Пример вывода можно найти в документации по API.
Geonames предоставляет двухбуквенные сокращения для стран, но имеет их только для штатов в нескольких странах.
Почему они не предоставляют что-то стандартное (и полезное), так как это вне моего понимания.