Я создал этот небольшой класс местоположения, чтобы лучше обрабатывать адресную информацию, которую я собираюсь отправлять в запросах к Google Maps API. Мне осталось сделать некоторую проверку, чтобы убедиться, что в адресе достаточно информации для возврата результата.
Для приложения уровень точности должен быть таким же неопределенным, как для одного города (это означает, что оно должно работать, пока указан почтовый индекс или город / штат, поскольку он автоматически найдет географический центр этой области на Картах Google).
Такие вещи, как:
- Адрес1, Адрес2, Город, Штат, Почтовый индекс
- Адрес1, Город, Штат, Почтовый индекс
- Адрес1, Город, Почтовый индекс
- Адрес1, почтовый индекс
- Город, штат
Должно все заработать, пока что-то вроде
- Адрес1, Адрес2, Состояние
- Состояние
- Город
- Адрес 1
- Адрес 2
- Адрес1, Адрес2
Не сработает, потому что либо вернет потенциально многочисленные результаты, либо географический центр выйдет за пределы желаемой мной точности.
ПРИМЕЧАНИЕ. Я уверен, что могу перечислить десятки других комбинаций, которые работают и не работают, но надеюсь, что я привел достаточно примеров, чтобы правильно обрисовать здесь «область точности».
Public Class Location
Private _Address1 As String
Private _Address2 As String
Private _City As String
Private _State As String
Private _ZIP As String
Public Function isValid() As Boolean
'Insert validation code here'
End Function
End Class
Я знаю, что вы можете сделать это, используя целую кучу If
операторов, проверяющих, существует ли что-то и существует ли что-то еще, и если чего-то еще не существует, снова и снова, но я чувствую, что это был бы огромный кусок логического кода .
Есть ли более эффективный / элегантный способ убедиться, что у меня есть действительное местоположение, прежде чем я отправлю его в запросе?