2015-07-07 6 views
-1

Эй, я действительно пытался найти в Интернете какие-нибудь небольшие советы, чтобы попытаться решить мою дилемму, но, тем не менее, я все еще ничего не нашел об этом, и мне плохо, что я прошу раздражать но я просто не знаю javascript, но это необходимо.HTML5/JS geolocation показать только сообщения с определенного радиуса

Так что, в основном, я делаю это, и для этого требуется, чтобы пользователь дал геолокацию, а затем он будет показывать только сообщения, сделанные пользователями в определенном радиусе (5-10ми). Нужно ли хранить данные в базе данных? или это будет то, о чем я не знаю?

Вся помощь будет принята с благодарностью и спасибо заранее :)

+0

Где эти сообщения вы хотите отображать? Похоже, что они, вероятно, находятся в базе данных, и вы хотите отфильтровать сообщения, возвращаемые из базы данных, но тогда кажется маловероятным, что это проблема JS. Если это правильно, то у вас есть гео-местоположение для каждого сообщения, хранящегося в БД? – AndrewPolland

+0

Ну, я думаю, это не проблема JS, но я запутался в том, как я могу контролировать, кто может ее увидеть, если человек находится в радиусе, где находится местоположение почты, вроде yik-yakish – Beastt

ответ

0

К сожалению, я не знаю, что в интерфейсе вашего сайта, но я считаю, что это должно работать, если вы используете MySQL и иметь геолокации каждого сообщения, хранящегося в базе данных. Если другой тип базы данных, то это может незначительно отличаться.

SELECT *, (3960 * acos(cos(radians(@custLat)) * 
    cos(radians(Lat)) * cos(radians( Lng ) - radians(@custLng)) + 
    sin(radians(@custLat)) * sin(radians( Lat )))) AS Distance 
FROM Posts 
WHERE Distance < 10 

Где @custLat и @custLng - это переменные координаты пользователя. Lat и Lng - поля таблицы базы данных, в которых мы сохранили координаты столбца.

Это и более подробно на https://www.stormconsultancy.co.uk/blog/development/code-snippets/the-haversine-formula-in-c-and-sql/

Примечание: Я не проверял это.