@Serjio-Grig
Тот самый никто (=

Как проверить попадание координат?

Здравствуйте.
Есть некая страничка A, играющая роль точки входа в приложение.
На ней отслеживается изменение координат пользователя через

navigator.geolocation.watchPosition(callback, error);

При изменении координат, отправляются координаты пользователя на сокет-сервер (Node.JS + SOCKET.IO + Express) ss1.example.com:3000, откуда происходит дальнейшая отправка координат другим пользователей внутри комнаты, а так же туда отправляются новые координаты углов карты у нашего пользователя.
Оттуда же ss1.example.com передает при необходимости (например, если вызывается disonnected) данные о последнем местоположении пользователя серверу geodb.example.com, который сохраняет их сначала в базе данных геообъектов системы, а так же передает Backup-серверу. Сервера базы данных получают данные в последнюю очередь, т.к. они медлительнее всего, а первично идет обмен местоположением с другими пользователями комнаты - пускай себе спокойно копаются с поступающими данными :)

Вопрос:
Мы передаем координаты углов карты и координаты пользователя.
Как разослать эти координаты (socket.emit) только тем пользователям, у которых наш отправивший есть в "зоне видимости" (т.е. не за пределами границ карты)?
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
@Serjio-Grig Автор вопроса
Тот самый никто (=
Проблема решена.
(Bx - Ax) * (Py - Ay) - (By - Ay) * (Px - Ax)

- наша точка, Px - latitude, Py - longitude
A - один из углов, xy соответственно
B - противоположный A угол.

Отрицательное значение: попадает
Положительное: не попадает
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы