diff --git a/cypress/integration/circle.spec.js b/cypress/integration/circle.spec.js new file mode 100644 index 00000000..b7bcb5e6 --- /dev/null +++ b/cypress/integration/circle.spec.js @@ -0,0 +1,22 @@ +describe('Draw Circle', () => { + const mapSelector = '#map'; + + it('draws a circle', () => { + cy.toolbarButton('circle') + .click() + .parent('a') + .should('have.class', 'active'); + + cy.get(mapSelector) + .click(200, 200) + .click(250, 250); + + cy.toolbarButton('edit') + .click() + .parent('a') + .should('have.class', 'active'); + + cy.hasVertexMarkers(2); + cy.hasMiddleMarkers(0); + }); +}); diff --git a/src/js/Draw/L.PM.Draw.Circle.js b/src/js/Draw/L.PM.Draw.Circle.js index b233bf52..8a150026 100644 --- a/src/js/Draw/L.PM.Draw.Circle.js +++ b/src/js/Draw/L.PM.Draw.Circle.js @@ -172,10 +172,10 @@ Draw.Circle = Draw.extend({ }); } }, - _finishShape() { + _finishShape(e) { // calc the radius const center = this._centerMarker.getLatLng(); - const cursor = this._hintMarker.getLatLng(); + const cursor = e.latlng; const radius = center.distanceTo(cursor); // create the final circle layer