UNPKG

@totvs-agro/mobile-components

Version:

Componentes Mobile Totvs (Front-End) para utilização dos estilos do T-Faces e Ionic v3

172 lines 7.88 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; import { Diagnostic } from '@ionic-native/diagnostic'; import { GoogleMapsEvent, HtmlInfoWindow } from '@ionic-native/google-maps'; import { PolygonUtil } from './polygon-util'; var MapWrapper = /** @class */ (function () { function MapWrapper(map) { this.map = map; } MapWrapper.prototype.getMapObject = function () { return this.map; }; MapWrapper.prototype.addPolygon = function (polygonPoints, options) { var _this = this; var hasConfig = false; if (options) hasConfig = true; var polygon = this.map.addPolygonSync({ points: polygonPoints, strokeColor: hasConfig ? options.borderColor || '#ffffff' : '#ffffff', fillColor: hasConfig ? options.fillColor || 'rgba(102, 170, 170, 0.5)' : 'rgba(102, 170, 170, 0.5)', strokeWidth: 3, clickable: hasConfig ? options.clickable : false }); if (options && options.onclick) { polygon.on(GoogleMapsEvent.POLYGON_CLICK).subscribe(function (param) { _this.closeTooltip(); if (options.contentTooltip) { var centerPolygon = PolygonUtil.findPolygonCenter(param[1]); _this.openTooltip(options.contentTooltip, centerPolygon); } options.onclick(param[0], param[1]); }); } return polygon; }; MapWrapper.prototype.addMarker = function (centerPolygon) { return this.map.addMarkerSync({ icon: { url: './assets/images/marker-new.png' }, visible: false, position: centerPolygon, infoWindowAnchor: [33, 87] }); }; MapWrapper.prototype.addCircle = function (options) { var _this = this; var circle = this.map.addCircleSync({ center: options.center, radius: options.radius, strokeColor: options.borderColor ? options.borderColor : '#ffffff', strokeWidth: options.borderWidth ? options.borderWidth : 3, fillColor: options.fillColor ? options.fillColor : 'rgba(102, 170, 170, 0.5)', clickable: options.clickable ? options.clickable : false }); if (options.onclick) { circle.on(GoogleMapsEvent.CIRCLE_CLICK).subscribe(function (param) { _this.closeTooltip(); if (options.contentTooltip) { _this.openTooltip(options.contentTooltip, param[1].getCenter()); } options.onclick(param[0], param[1]); }); } return circle; }; MapWrapper.prototype.openTooltip = function (contents, position) { var markerInfo = this.addMarker(position); this.moveCamera({ target: position, duration: 100 }); this.infoWindow = new HtmlInfoWindow(); this.infoWindow.setBackgroundColor('#ddd'); this.infoWindow.setContent(contents); this.infoWindow.open(markerInfo); }; MapWrapper.prototype.closeTooltip = function () { if (this.infoWindow) { this.infoWindow.close(); this.infoWindow = null; } }; MapWrapper.prototype.destroyMap = function () { if (this.map) this.map.remove(); }; MapWrapper.prototype.clearMap = function () { if (this.map) this.map.clear(); }; MapWrapper.prototype.setCenter = function (position) { if (this.map) this.map.setCameraTarget(position); }; MapWrapper.prototype.moveCamera = function (cameraPosition) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { if (this.map) { if (cameraPosition.duration) { return [2 /*return*/, this.map.animateCamera(cameraPosition)]; } else { return [2 /*return*/, this.map.moveCamera(cameraPosition)]; } } return [2 /*return*/]; }); }); }; MapWrapper.prototype.getMyLocation = function (options) { return __awaiter(this, void 0, void 0, function () { var diagnostic; var _this = this; return __generator(this, function (_a) { diagnostic = new Diagnostic(); return [2 /*return*/, diagnostic.isLocationAvailable() .then(function (isLocationAvailable) { if (isLocationAvailable) { return _this.map.getMyLocation({ enableHighAccuracy: true }); } else { return null; } }).catch(function (err) { console.log(err); return null; })]; }); }); }; return MapWrapper; }()); export { MapWrapper }; //# sourceMappingURL=map-wrapper.js.map