У меня есть функция ниже, которая адаптирована из функции Swift, которая генерирует новую координату широта / долгота каждые 10 м, создавая окружность из центра широта / долгота. Проблема в том, что функция работает по тайм-ауту, но ошибки нет, поэтому я не знаю, в чем дело.
По сути, я хочу сгенерировать 36 точек вокруг центральной точки.
Расстояние — шаги, преобразованные в метры.
$distanceInMetres = 1000 / 0.75;
$coordinates = [];
$first = 0;
$last = 360;
$step = 10;
$n = 0.0;
for($i = 0; $i < 360; $i + 10)
{
$distanceInMetres = $distanceInMetres / (3.14 * 2);
$directionInDegrees = $n;
$lat = -37.713870;
$long = 144.944215;
$radDirection = deg2rad($directionInDegrees);
$dx = $distanceInMeter * cos($radDirection);
$dy = $distanceInMeter * sin($radDirection);
$radLat = deg2rad($lat);
$deltaLongitude = $dx/(111320 * cos($radLat));
$deltaLatitude = $dy/110540;
$endLat = $lat + $deltaLatitude;
$endLong = $long + $deltaLongitude;
$coordinates = array('latitude' => $endLat, 'longitude' => $endLong);
if($n == 0.0) {
$firstLat = $endLat;
$firstLng = $endLong;
}
$n += 10.0;
}
Задача ещё не решена.
Других решений пока нет …