Мой проект включает в себя предоставление пользователю возможности рисовать многоугольник на Картах Google, а затем даже восстанавливать эту форму. Для этого я сохраняю путь многоугольника в моей базе данных и запрашиваю его на более позднем этапе, чтобы снова нарисовать его для пользователя. Это работает, когда у меня есть простые многоугольники (например, треугольники или квадраты), но сложные редко бывают такими же, как было нарисовано.
Я получаю координаты пути через: var polyArray = selectedShape.getPath().getArray();
Я храню эти значения вмоя база данных.
Для рисования я использую google.maps.Polygon ():
var redrawnPolygon = new google.maps.Polygon({
paths: polygonCoords
});
Как видите, изображения многоугольников не совпадают с нарисованными, что делаетсмысл, потому что вершины, хранящиеся в getPath (), могут создавать более одного многоугольника. Как я могу убедиться, что нарисован исходный многоугольник? Разве getPath () не должен добавлять больше вершин автоматически? Должен ли я сделать их вручную? Как?
Нарисовано пользователем:
Перерисовано с помощью google.maps.Polygon ()