/ / карта google, що розміщує місця з деякою відстані - google-maps, google-maps-api-3, широта-довгота

Карти Google розміщують місця з певною відстані - google-maps, google-maps-api-3, широта-довгота

Я новачок у ROR та Google Maps. Мені потрібно розмістити деякі маркери з місць на Картах Google (маючи ширини та довготи в базі даних).

Проблема в тому, що мені потрібно вибрати деякі точки з деякою випадковою дистанцією.

Коротше кажучи, мені потрібно вибрати місце розташування та розмістити його на карті, яка повинна мати відстань 100 м з кожною точкою.

Якщо місце розташування знаходиться в межах 100 м в межах будь-яких інших точок, ним можна знехтувати. Мені потрібно помістити 10 балів з бази даних.

Чи є якийсь метод?

Відповіді:

1 для відповіді № 1

Якщо припустити, що вам потрібно знайти точки зі своєї бази даних, що знаходяться на відстані не менше 100 метрів від усіх інших точок бази даних:

Це досить проста проблема. Він може бути візуалізований як матриця nxn, при цьому точка встановлюється у вигляді рядків та стовпців. У Python порівняння всіх відстаней виглядало б так:

selected = []
for pt1 in pts:
inRange = True
for pt2 in pts:
if pt1.distanceTo(pt2) < 100:
inRange = False
break
if inRange:
selected.append(pt1)

Ця функція повторюється через весь списокбали. Для кожної точки він перевіряє відстань від поточної точки до всіх інших точок. Якщо всі інші точки знаходяться за межами 100 метрів, це додає крапку до масиву.

Формулу відстані див формула гаверсину тут у формі коду.

Оскільки ви не вказали мову у своїйпитання, я дозволю вам перекласти це будь-якою мовою, яка вам потрібна. Це просто псевдокод, оскільки було надано недостатньо деталей, щоб відповісти на ваше запитання з фактичним кодом.

Крім того, якщо я неправильно зрозумів ваше питання, ви можете якось адаптувати цей алгоритм. Це просто надати деякі ідеї.