Как вывести метки в радиусе 10 метров от меня?

Для того, чтобы вывести метки в радиусе 10 метров от вашего местоположения, вам понадобится использовать специальные географические функции и операторы языка SQL.

В большинстве современных СУБД, таких как PostgreSQL, MySQL или SQL Server, имеются встроенные географические типы данных и функции для работы с ними. В данном ответе я предположу, что вы используете PostgreSQL, так как он является одной из самых популярных СУБД с поддержкой географических данных.

1. Создайте таблицу "метки" с полями "id" (первичный ключ), "название", "широта", "долгота". Например:

CREATE TABLE markers (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255),
    latitude NUMERIC,
    longitude NUMERIC
);

2. Вставьте в таблицу некоторые метки с указанием их координат. Например:

INSERT INTO markers (name, latitude, longitude)
VALUES ('Метка 1', 55.7547, 37.6214),
       ('Метка 2', 55.7537, 37.6226),
       ('Метка 3', 55.7553, 37.6238);

3. Создайте географический индекс на столбец с координатами:

CREATE INDEX markers_location_idx ON markers USING GIST (POINT(longitude, latitude));

4. Затем, чтобы найти все метки в радиусе 10 метров от вашего текущего местоположения, вы можете использовать функцию ST_DWithin().

SELECT id, name, latitude, longitude
FROM markers
WHERE ST_DWithin(POINT(longitude, latitude)::geography, 
                 ST_MakePoint(<your_longitude>, <your_latitude>)::geography, 
                 10);

Где <your_longitude> и <your_latitude> это широта и долгота вашего текущего местоположения.

Функция ST_MakePoint() используется для создания географической точки из указанных координат, а ST_DWithin() возвращает true, если точка находится внутри указанного радиуса.

5. Выполнив запрос, вы получите все метки, которые находятся в радиусе 10 метров от вашего текущего местоположения. Результат будет содержать id, название, широту и долготу меток.

Это основной пример, который позволит вам выводить метки в радиусе 10 метров от вашего текущего местоположения. Однако, при решении реальных задач, возможно, потребуется уточнение и изменение этого примера в соответствии с требованиями вашего проекта или другими деталями вашей задачи.