Найти всех пользователей на определенном расстоянии от заданного значения? - PullRequest
0 голосов
/ 16 марта 2012

Я хочу, чтобы пользователи на моем сайте могли искать других пользователей на определенном расстоянии. например, «найти всех пользователей в пределах [5] миль». У меня есть некоторый код, который делает это «по прямой линии», но я хочу иметь возможность найти реальное расстояние, включая дороги. Я знаю, что мне нужен сторонний инструмент для этого, но я не уверен, что использовать. Есть ли в Google Maps API эта функция? Мой код на данный момент:

    $results = $members->prepare("SELECT users.fname, users.lname, activate.profession, activate.town, ROUND((3958.75 * ACOS(SIN(? / 57.2958)*SIN(uk_postcodes.latitude / 57.2958)+COS(? / 57.2958)*COS(uk_postcodes.latitude / 57.2958)*COS(uk_postcodes.longitude / 57.2958 - ? / 57.2958))), 1) as distance FROM uk_postcodes JOIN activate on activate.outward = uk_postcodes.postcode and activate.userid != ? JOIN users on users.user_id = activate.userid WHERE (3958.75 * ACOS(SIN(? / 57.2958)*SIN(uk_postcodes.latitude / 57.2958)+COS(? / 57.2958)*COS(uk_postcodes.latitude / 57.2958)*COS(uk_postcodes.longitude / 57.2958 - ? / 57.2958))) <= ?");

    $lat = $_POST['latitude'];
    $long = $_POST['longitude'];

    $results->bind_param('ssssssss', $lat, $lat, $long, $_SESSION['token'], $lat, $lat, $long, $_POST['distance']);
    $results->execute();

Любая помощь приветствуется, спасибо.

Ответы [ 2 ]

0 голосов
/ 16 марта 2012

Вы можете найти API Карт Google полезным ресурсом.Ознакомьтесь с документами по матрице расстояний: https://developers.google.com/maps/documentation/distancematrix/

0 голосов
/ 16 марта 2012

API направления Google Maps будет возвращать расстояние в милях, а также время в пути. Однако я считаю, что Google требует, чтобы вы отображали карту Google при использовании API Карт Google.

Вот ссылка на информацию API направления:

API Google Maps Direction

Вам нужно будет найти способ использовать информацию javascript в PHP или просто переключиться на javascript, чтобы найти пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...