Я использую пакет npm от круга к многоугольнику, и я написал следующий код, чтобы вернуть многоугольник, который примерно похож на круг.
const circleToPolygon = require('circle-to-polygon');
let coordinates = [28.612484207825005, 77.23574939044147]; //lat, lng
let radius = 311;
let numberOfEdges = 32;
let polygon = circleToPolygon(coordinates, radius, numberOfEdges);
let coords = polygon.coordinates;
Когда я использовал координаты и создал форму многоугольника с помощью Google Maps JS API, она показала форму овала (2 конца были очень далеко друг от друга, два очень близко, надеюсь вы понимаете).
Фактически, разница в расстояниях, можно сказать, составляет примерно отношение 4: 1. Так что это никогда не форма ближе к кругу.
Есть ли какие-то проблемы, или это должно быть сделано намеренно?



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


В описании пакета в npm сказано так:
The GeoJSON spec does not support circles. If you wish to create an area that represents a circle, your best bet is to create a polygon that roughly approximates the circle. In the limit of the number of edges becoming infinite, your Polygon will match a circle.
Эта ссылка может предоставить объяснение: forbes.com/sites/startswithabang/2016/02/27/…
@Vikas Kumar, это, кажется, непростой вопрос. Я подозреваю, что способ упорядочивания координат из круга в многоугольник и API карт Google противоположны, по крайней мере, на основе документации. Вы можете попробовать одно. Подайте lon, lat (например, (77,28)) в api из круга в многоугольник, а затем, когда вы получите результат, измените их (например, (28,77)) и подайте в api карт Google.
@ Викас Кумар, я просто смотрел на это снова. Я заметил ошибку в использовании API-интерфейса для преобразования круга в многоугольник. Я думаю, что это причина проблемы, с которой вы столкнулись. Пожалуйста, поменяйте координаты в самом звонке.
вместо того
let coordinates = [28.612484207825005, 77.23574939044147]; //lat, lng
пытаться
let coordinates = [77.23574939044147, 28.612484207825005]; //lng, lat
Я читал это. Это не значит, что он будет иметь форму эллипса или овала. Это даст вам многоугольник, похожий на круг. Даже если вы используете бесконечные края, это только повысит гладкость, а не общую форму.