Я создал этот небольшой класс местоположений, чтобы лучше обрабатывать адресную информацию, которую я собираюсь отправлять в запросах к API Карт Google. Одна вещь, которую я оставил, это некоторая проверка, чтобы убедиться, что адрес имеет достаточно информации, чтобы вернуть результат обратно.
Для приложения уровень точности должен быть таким же низким, как для одного города (это означает, что он должен работать до тех пор, пока предоставляется почтовый индекс или город / штат, поскольку он автоматически найдет географический центр этой области в Google). Карты).
Так что вроде:
- Адрес1, Адрес2, Город, Штат, ZIP
- Адрес1, Город, Штат, ZIP
- Адрес1, Город, ZIP
- Адрес1, ZIP
- Город, штат
Должно все работать, пока что-то типа
- Адрес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
операторов, проверяющих, существует ли что-то и существует ли что-то еще, и если чего-то еще не существует, и так далее, но я чувствую, что это будет огромный кусок логического кода.
Есть ли более эффективный / элегантный способ убедиться, что у меня есть действительное местоположение, прежде чем я отправлю его в запросе?