Commit a06c8354973e361c760fd90b293a7fad41d18a6a

Authored by Kalutka Zhenya
1 parent 2ccaa095

Fix marker move and marker point

@@ -131,10 +131,13 @@ export default abstract class LeafletMap { @@ -131,10 +131,13 @@ export default abstract class LeafletMap {
131 tooltipAnchor: [16, -28], 131 tooltipAnchor: [16, -28],
132 shadowSize: [41, 41] 132 shadowSize: [41, 41]
133 }); 133 });
  134 + const customLatLng = this.convertToCustomFormat(mousePositionOnMap);
  135 + mousePositionOnMap.lat = customLatLng[this.options.latKeyName];
  136 + mousePositionOnMap.lng = customLatLng[this.options.lngKeyName];
  137 +
134 const newMarker = L.marker(mousePositionOnMap, { icon }).addTo(this.map); 138 const newMarker = L.marker(mousePositionOnMap, { icon }).addTo(this.map);
135 this.addMarkers.push(newMarker); 139 this.addMarkers.push(newMarker);
136 const datasourcesList = document.createElement('div'); 140 const datasourcesList = document.createElement('div');
137 - const customLatLng = this.convertToCustomFormat(mousePositionOnMap);  
138 const header = document.createElement('p'); 141 const header = document.createElement('p');
139 header.appendChild(document.createTextNode('Select entity:')); 142 header.appendChild(document.createTextNode('Select entity:'));
140 header.setAttribute('style', 'font-size: 14px; margin: 8px 0'); 143 header.setAttribute('style', 'font-size: 14px; margin: 8px 0');
@@ -415,7 +418,6 @@ export default abstract class LeafletMap { @@ -415,7 +418,6 @@ export default abstract class LeafletMap {
415 }else if(position.lng < -180){ 418 }else if(position.lng < -180){
416 position.lng = -180; 419 position.lng = -180;
417 }; 420 };
418 -  
419 return { 421 return {
420 [this.options.latKeyName]: position.lat, 422 [this.options.latKeyName]: position.lat,
421 [this.options.lngKeyName]: position.lng 423 [this.options.lngKeyName]: position.lng
@@ -258,10 +258,29 @@ export class ImageMap extends LeafletMap { @@ -258,10 +258,29 @@ export class ImageMap extends LeafletMap {
258 } 258 }
259 259
260 convertToCustomFormat(position: L.LatLng, width = this.width, height = this.height): object { 260 convertToCustomFormat(position: L.LatLng, width = this.width, height = this.height): object {
261 - const point = this.latLngToPoint(position); 261 + let point = this.latLngToPoint(position);
  262 + const customX = calculateNewPointCoordinate(point.x, width);
  263 + const customY = calculateNewPointCoordinate(point.y, height);
  264 +
  265 + if(customX === 0){
  266 + point.x = 0;
  267 + } else if(customX === 1){
  268 + point.x = width;
  269 + }
  270 +
  271 + if(customY === 0){
  272 + point.y = 0;
  273 + } else if(customY === 1){
  274 + point.y = height;
  275 + }
  276 +
  277 + const customLatLng = this.pointToLatLng(point.x,point.y)
  278 +
262 return { 279 return {
263 - [this.options.xPosKeyName]: calculateNewPointCoordinate(point.x, width),  
264 - [this.options.yPosKeyName]: calculateNewPointCoordinate(point.y, height) 280 + [this.options.xPosKeyName]: customX,
  281 + [this.options.yPosKeyName]: customY,
  282 + [this.options.latKeyName]:customLatLng.lat,
  283 + [this.options.lngKeyName]:customLatLng.lng
265 }; 284 };
266 } 285 }
267 286