Sub Process_Globals
    Private geocoder As JavaObject
End Sub
Dim context As JavaObject
context.InitializeContext
geocoder.InitializeNewInstance("android.location.Geocoder", Array(context))
' Method to get addresses from a location (latitude, longitude)
Sub GetFromLocation(lat As Double, lon As Double, maxResults As Int) As List
    Dim addresses As List
    addresses.Initialize
    Try
        Dim result As Object
        result = geocoder.RunMethod("getFromLocation", Array(lat, lon, maxResults))  'note: deprecated in API level 33.
        
        ' Convert the result to a B4A list of Address objects
        Dim addressList As List
        addressList.Initialize
        
        Dim addressArray As Object = result
        Dim size As Int = addressArray.RunMethod("size", Null)
        
        For i = 0 To size - 1
            Dim address As Object = addressArray.RunMethod("get", Array(i))
            addressList.Add(address)
        Next
        
        Return addressList
    Catch
        Log(LastException.Message)
    End Try
    Return Null