UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

27 lines 3.24 kB
import { Injectable } from '@angular/core'; import { get, isNaN } from 'lodash-es'; import * as i0 from "@angular/core"; export class GeoService { constructor() { this.C8Y_POSITION_FRAGMENT = 'c8y_Position'; } getLatLong(mo) { const fragment = get(mo, this.C8Y_POSITION_FRAGMENT); if (!fragment) { return undefined; } const lat = Number(fragment.lat); const lng = Number(fragment.lng); if (!isNaN(lat) && !isNaN(lng) && Math.abs(fragment.lat) <= 90) { return [lat, lng]; } return undefined; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeoService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeoService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi9nZW8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUd2QyxNQUFNLE9BQU8sVUFBVTtJQUR2QjtRQUVtQiwwQkFBcUIsR0FBRyxjQUFjLENBQUM7S0FjekQ7SUFaQyxVQUFVLENBQUMsRUFBMkI7UUFDcEMsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDL0QsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzsrR0FkVSxVQUFVO21IQUFWLFVBQVUsY0FERyxNQUFNOzs0RkFDbkIsVUFBVTtrQkFEdEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJRXZlbnQsIElNYW5hZ2VkT2JqZWN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZ2V0LCBpc05hTiB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgR2VvU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgQzhZX1BPU0lUSU9OX0ZSQUdNRU5UID0gJ2M4eV9Qb3NpdGlvbic7XG5cbiAgZ2V0TGF0TG9uZyhtbzogSUV2ZW50IHwgSU1hbmFnZWRPYmplY3QpOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICBjb25zdCBmcmFnbWVudCA9IGdldChtbywgdGhpcy5DOFlfUE9TSVRJT05fRlJBR01FTlQpO1xuICAgIGlmICghZnJhZ21lbnQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGxhdCA9IE51bWJlcihmcmFnbWVudC5sYXQpO1xuICAgIGNvbnN0IGxuZyA9IE51bWJlcihmcmFnbWVudC5sbmcpO1xuICAgIGlmICghaXNOYU4obGF0KSAmJiAhaXNOYU4obG5nKSAmJiBNYXRoLmFicyhmcmFnbWVudC5sYXQpIDw9IDkwKSB7XG4gICAgICByZXR1cm4gW2xhdCwgbG5nXTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIl19