Я использую geocoder
с Google, чтобы проверять адреса и возвращать правильные значения, если они немного ругаются, а также приобретают широту и долготу. Я думаю, что я могу быть немного в моей реализации здесь, потому что он просто чувствует себя таким неуклюжим, а также обнаружил, что на некоторых адресах отсутствует номер улицы.Как получить полный адрес улицы через драгоценный камень геокодера?
Я трогание со следующим кодом:
result = Geocoder.search(full_address_to_verify)
if result != []
street_address = result[0].address_components[1]["long_name"]
city = result[0].address_components[2]["long_name"]
state = result[0].address_components[5]["long_name"]
zip = result[0].address_components[7]["long_name"]
end
Я обнаружил, что иногда я получаю несколько результатов, и поэтому я буду с первым ([0]
выше). Кроме того, я обнаружил некоторую странность в том, что большую часть времени result[0].address_components[1]
содержит полный адрес, в том числе street_number, но время от времени это не так, и я должен добавить result[0].address_components[0]
. Мне еще предстоит выяснить рифму или причину этого.
В конечном счете, моя цель состоит в том, чтобы получить номер улицы США + улицы, города, штата и почтового индекса в отдельные переменные.
Итак, мой вопрос: есть ли лучший способ получить адрес, чтобы номер улицы всегда правильно связывался с маршрутом?
Из документации, я на самом деле не видя никаких чистых методов, которые бы просто дать мне нужные поля адреса без извлечения данных из отдельных полей из запроса ответ ...