Задать вопрос
@dimash07

Как создать точки на карте (координаты — ширина, долгота)?

Здравствуйте! Тут такое дело, надо создать координаты точек по карте, чтобы они были раскиданы по всей карте. Указывается начальная точка, по ней уже создаются остальные и при этом точки должны переходить плавно (чтобы не получилось например [Москва, Лондон, Москва]). Сложно конечно объяснить чего именно хотят заказчики, но попробую на примере:
На картинке указаны залитым цветом начальные точки, алгоритм должен создать остальные...
6f59d8dffe0e4fb2b27a408bb4792e71.png

По сути должен создаваться эффект полета самолетов (для игры), они летают рандомно. Поэтому было решено изначально создать рандомные координаты пути на стороне сервера и уже их передавать клиенту, чтобы у всех было одинаково. Если так делать не стоит, то посоветуйте верное решение этой задачи! Спасибо огромное!
  • Вопрос задан
  • 369 просмотров
Подписаться 2 Оценить 4 комментария
Решения вопроса 1
@dimash07 Автор вопроса
Пока что решил оставить такое вот решение, может кому нибудь понадобится:

function generate($from, $to){
$fixed = 6;

$rand = (float)rand()/(float)getrandmax();

return round($rand * ($to - $from) + $from, $fixed) * 1;
}

function generate_coordinate(){
$longitude = generate(-180, 180);
$latitude = generate(-90, 90);


return ['longitude' => $longitude, 'latitude' => $latitude];
}

print_r(generate_coordinate());
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
x67
@x67
Сгенерируйте массив аэропортов по всему миру для начала. Дайте им названия. И игроку понятнее и вам проще. По ним уже выбираете начальную точку и формализовав условия (а иначе никак!) составляете маршрут.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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