Socket
Socket
Sign inDemoInstall

@h21-map/yandex-drawing-manager

Package Overview
Dependencies
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@h21-map/yandex-drawing-manager - npm Package Compare versions

Comparing version 1.0.7 to 1.0.8

155

index.js

@@ -11,7 +11,12 @@

var DrawingManager = function (map, opts) {
try {
ymaps;
} catch (e) {
throw Error('Ymaps Map JS API is not ready yet!');
}
let me = this;
me.map = map;
me._opts = opts;
me._drawingType = opts.drawingMode || DRAWING_MODE_MARKER;
me._drawingType = null;
me._fitBounds = opts._fitBounds || true;

@@ -29,22 +34,41 @@ me.markerOptions = opts.markerOptions || {};

DrawingManager.prototype.setDrawingMode = function (drawingType) {
DrawingManager.prototype.setDrawingMode = function (drawingType, opts) {
let me = this;
this._drawingType = drawingType;
me.markerOptions = opts.markerOptions || {};
me.circleOptions = opts.circleOptions || {};
me.areaOptions = opts.areaOptions || {};
me._enableDraw = opts.enableDraw;
switch (drawingType) {
case DRAWING_MODE_MARKER:
me._bindMarker();
break;
case DRAWING_MODE_CIRCLE:
me._bindCircle();
break;
case DRAWING_MODE_AREA:
me._bindArea();
break;
default:
me._redraw();
break;
if (me.markerOptions) {
me.setPosition(me.markerOptions.markerLatitude, me.markerOptions.markerLongitude);
}
if (me.circleOptions) {
me.radius = me.circleOptions.radius;
}
if (me.areaOptions) {
me.areaCoordinates = me.areaOptions.areaCoordinates;
}
if (me._drawingType != drawingType) {
switch (drawingType) {
case DRAWING_MODE_MARKER:
me._bindMarker();
break;
case DRAWING_MODE_CIRCLE:
me._bindCircle();
break;
case DRAWING_MODE_AREA:
me._bindArea();
break;
default:
me._reset();
break;
}
this._drawingType = drawingType;
}
};

@@ -130,3 +154,3 @@

me.map.events.fire('draw:marker_create', null);
me.map.events.fire('draw:marker_create', me._getPosition());

@@ -142,10 +166,9 @@ }

}
if (this._enableDraw) {
me.map.container.events.add('click', (event) => {
event.stopImmediatePropagation();
createCenterMarker(event);
});
}
me.map.container.events.add('click', (event) => {
event.stopImmediatePropagation();
if (this._enableDraw) {
createCenterMarker(event)
}
});
};

@@ -194,2 +217,5 @@

me.map.container.events.remove('click');
me.map.container.events.types.click = undefined;
}

@@ -203,2 +229,4 @@

me.map.container.events.remove('click');
me.map.container.events.types.click = undefined;
me._removeArea();

@@ -258,11 +286,57 @@ me._removeCenterMarker();

me.map.container.events.once('mousedown', () => {
createArea();
});
if (this._enableDraw) {
me.map.container.events.once('mousedown', () => {
createArea();
});
}
else {
me._redrawArea();
}
};
DrawingManager.prototype._redraw = function () {
DrawingManager.prototype._redrawArea = function () {
let me = this;
let latlngs = me._convertlatlngs();
let options = {
fillColor: me.areaOptions.fillColor,
fillOpacity: me.areaOptions.fillOpacity,
strokeColor: me.areaOptions.strokeColor,
strokeOpacity: me.areaOptions.strokeOpacity,
strokeWidth: me.areaOptions.strokeWeight,
}
me.area = new ymaps.Polygon([latlngs,], {}, options);
me.map.geoObjects.add(me.area);
me.map.events.fire('draw:area_create', me._convertCoordinates(latlngs));
me._fitBoundsArea();
}
DrawingManager.prototype._convertlatlngs = function () {
let me = this;
let latlngs = [];
if (me.areaCoordinates.length > 0) {
for (var n = 0; n < me.areaCoordinates.length; n++) {
let item = me.areaCoordinates[n];
let position = [item.latitude, item.longitude];
latlngs.push(position);
}
return latlngs;
}
}
DrawingManager.prototype._reset = function () {
let me = this;
me._removeArea();

@@ -303,3 +377,6 @@ me._removeCenterMarker();

}
return positions;
let pos = {
positions
}
return pos;
};

@@ -482,2 +559,18 @@

DrawingManager.prototype._getPosition = function () {
let me = this;
let position = {
latitude: me._centerMarker.geometry.getCoordinates()[0],
longitude: me._centerMarker.geometry.getCoordinates()[1]
}
let pos = {
position
};
return pos;
}
DrawingManager.prototype._getZoom = function () {

@@ -484,0 +577,0 @@

4

package.json

@@ -5,4 +5,4 @@

"scope":"@h21-map",
"version": "1.0.7",
"description": "A library of Yndex Map JS API",
"version": "1.0.8",
"description": "A library of Yandex Map JS API",
"main": "index.js",

@@ -9,0 +9,0 @@ "scripts": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc