Я хочу явно определить, что Google maps LatLngBounds должен быть x морских миль справа от LatLong P и x морских миль слева от P. И определить LatLngBounds дляна y морских миль выше точки P и y nm ниже P.
Так что в основном я хочу определить LatLngBounds, используя широту и долготу, и я хочу получить эту широту и долготу из x, y и P.
Градусы широты легко преобразуются в градусы долготы: 1 градус равен одной морской миле.Но
градусов долготы на нм изменяется с широтой.Формула (в php)
public static function degPerNmAtLat($lat) {
$pi80 = M_PI / 180;
$lat = $lat*$pi80; //convert lat to radians
$p1 = 111412.84; // longitude calculation term 1
$p2 = -93.5; // longitude calculation term 2
$p3 = 0.118; // longitude calculation term 3
// below: calculate the length of a degree of latitude and longitude in meters
$longlen = ($p1 * cos($lat)) + ($p2 * cos(3 * $lat)) + ($p3 * cos(5 * $lat));
$longlen = $longlen * (3.280833333) / (5280 * 1.15077945); // convert to nautical miles
return 1/$longlen;
}
Но это похоже на обычную задачу, и мне интересно, есть ли в Google maps функция, которая мне не хватает, которая бы выполнила это.Есть ли в Google maps способ создания объекта LatLngBounds из x, y и P без использования формулы выше?