Как проверить состояние объекта new MapboxDraw
перед отправкой его бэкэнду? Например, чтобы показать пользователю некоторые предупреждения, когда он пытается отправить некоторые действия, не создавая объект (в моем случае многоугольник) на карте.
this.draw = new MapboxDraw({
controls: {
trash: true,
polygon: true
},
defaultMode: 'draw_polygon',
displayControlsDefault: false,
})
# sudocode
if (user has not created a polygon on the map) {
alert('You must create a polygon before submitting the form!')
}
Я на самом деле пытался решить эту проблему с помощью следующего кода , поскольку значение длины правильного многоугольника должно быть больше 3-х точек.
if (draw.getAll().features[0].geometry.coordinates[0].length <= 3) {
alert('You must create a polygon before submitting the form!')
}
Приведенный выше код работает только при первом выполнении, но при втором выполнении он вызывает ошибку, например, если пользователь пытается создать полигон из двух точек или если пользователь создает один полигон, а затем удаляет его
Uncaught TypeError: Cannot read property 'geometry' of undefined