SELECT
marker.latitud AS lat,
marker.longitud AS lng,
bares.nombre,
bares.direccion,
(
6371 *
acos(
cos( radians($lat) )
*
cos( radians( lat ) )
*
cos( radians( lng ) - radians($lon) )
+
sin( radians($lat) )
*
sin( radians( lat ) )
)
) AS distancia
FROM
bares, marker
WHERE
marker.model = 'bares'
marker.foreing_key != $id
ORDER by
distancia ASC
LIMIT
10
Coge la latitud y longitud de donde estas (hay varios métodos) y con esto sabras la distancia en metros. Puedes crear un sub que le pases esos valores y te devuelva la distancia
B4X:
Dim Distancia As Double
Dim Location1, Location2 As Location
Location1.Initialize
Location2.Initialize
Location1.Latitude = LatitudBD ' la que tienes en la Base de datos
Location1.Longitude = LongitudBD ' la que tienes en la Base de datos
Location2.Latitude = GPS_Latitud ' el lugar donde estas
Location2.Longitude = GPS_Longitud ' el lugar donde estas
Distancia = Location1.DistanceTo(Location2) ' la devuelve en metros
Por favor Samperizal, cuando escribas código, hazlo desde el icono "Insert..." (barra de arriba) y "Code", de esa forma el código se entiende mejor.