
У меня на карте 4 точки (широта, долгота), может быть и больше.
И мне нужно построить MySQL POLYGON с шириной 10 километров между этими точками.
Как вы видите на картинке - у меня есть синяя линия, и мне нужен многоугольник (зеленый контур).
Моей первой мыслью было создать две отдельные точки для каждой заданной точки. Например:
Логика проста. НО проблема в том, что я не знаю, что рассчитывать (справа, сверху, снизу, слева), мне нужен какой-то угол, но я застрял здесь.
Мне просто нужен алгоритм, не нужен полный пример кода.
функцию в javascript, которую я пробовал:
var meters = 10000 / 2;
var my_lat = 52.51978;
var my_long = 13.388211;
// number of km per degree = ~111km (111.32 in google maps, but range varies
/* between 110.567km at the equator and 111.699km at the poles) */
// 1km in degree = 1 / 111.32km = 0.0089
// 1m in degree = 0.0089 / 1000 = 0.0000089
var coef = meters * 0.0000089;
var new_lat = my_lat + coef;
// pi / 180 = 0.018
var new_long = my_long - coef / Math.cos(my_lat * 0.018);
Может быть, маршрутный боксер пригодится: github.com/googlemaps/v3-utility-library/tree/master/routebo xer



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Каково назначение окружающего многоугольника? Может быть более простой способ добиться того, что вы пытаетесь сделать.