この問題を処理するために使用した case ステートメントを次に示します。うまくいきましたが、それが最もエレガントなソリューションかどうかはわかりません。
Dim street As String = ""
Dim city As String = ""
Dim state As String = ""
Dim country As String = ""
Dim zip As String = ""
Dim phone As String = ""
Dim website As String = ""
' No guareentee to the order of even if the data will be there so we check each type. '
For j = 0 To array.result.address_components.Length - 1
Select Case array.result.address_components(j).types(0)
Case "street_number"
street += array.result.address_components(j).long_name()
Case "route"
street += " " & array.result.address_components(j).long_name()
Case "locality"
city = array.result.address_components(j).long_name()
Case "administrative_area_level_1"
state = array.result.address_components(j).long_name()
Case "country"
country = array.result.address_components(j).long_name()
Case "postal_code"
zip = array.result.address_components(j).long_name()
End Select
Next
私は基本的に address_components を循環し、それらの型の値をチェックします。値が探しているものである場合は、それを割り当てます。後で Trim() を呼び出して、番地がない場合に追加した空白を削除します。