diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/maps/leaflet-map.ts b/ui-ngx/src/app/modules/home/components/widget/lib/maps/leaflet-map.ts index 492bbc6081..f385ec2ac0 100644 --- a/ui-ngx/src/app/modules/home/components/widget/lib/maps/leaflet-map.ts +++ b/ui-ngx/src/app/modules/home/components/widget/lib/maps/leaflet-map.ts @@ -362,12 +362,12 @@ export default abstract class LeafletMap { return L.latLng(lat, lng) as L.LatLng; } - convertPositionPolygon(expression:LatLngExpression[][] | LatLngExpression[][][]) { - return (expression as Array).map((el) => { - if (el.length === 2 && !el.some(isNaN)) { + convertPositionPolygon(expression: (LatLngTuple | LatLngTuple[] | LatLngTuple[][])[]) { + return (expression).map((el) => { + if (!Array.isArray(el[0]) && el.length === 2) { return el; - } else if (isArray(el) && el.length) { - return this.convertPositionPolygon(el); + } else if (Array.isArray(el) && el.length) { + return this.convertPositionPolygon(el as LatLngTuple[] | LatLngTuple[][]); } else { return null; } diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/maps/providers/image-map.ts b/ui-ngx/src/app/modules/home/components/widget/lib/maps/providers/image-map.ts index feebd224bd..58260d4ef4 100644 --- a/ui-ngx/src/app/modules/home/components/widget/lib/maps/providers/image-map.ts +++ b/ui-ngx/src/app/modules/home/components/widget/lib/maps/providers/image-map.ts @@ -224,14 +224,14 @@ export class ImageMap extends LeafletMap { expression.y * this.height); } - convertPositionPolygon(expression: LatLngExpression[][] | LatLngExpression[][][]) { - return (expression as Array).map((el) => { - if (el.length === 2 && !el.some(isNaN)) { + convertPositionPolygon(expression: (LatLngTuple | LatLngTuple[] | LatLngTuple[][])[]){ + return (expression).map((el) => { + if (!Array.isArray(el[0]) && !Array.isArray(el[1]) && el.length === 2) { return this.pointToLatLng( el[0] * this.width, el[1] * this.height) - } else if (isArray(el) && el.length) { - return this.convertPositionPolygon(el); + } else if (Array.isArray(el) && el.length) { + return this.convertPositionPolygon(el as LatLngTuple[] | LatLngTuple[][]); } else { return null; }