@vidro/map-handler 1.2.1 → 1.2.12

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Map Handler
2
2
 
3
- #### Version 1.1.197 - Sep 2023
3
+ #### Version 1.2.111 - February 2024
4
4
 
5
5
  Tool to achieve the easiest way of communication with the map iframe.
6
6
 
@@ -105,16 +105,15 @@ Notifies zoom level changed
105
105
 
106
106
  ##### geomAdded
107
107
 
108
- Notifies geometry added to map, as string
108
+ Notifies geometry added to map and featureId
109
109
 
110
- > E.G.
110
+ When this tool is used, NO geom is added when drawing finishes. In case you want to add it, use `Highlight` tool
111
111
 
112
- ```
113
- POINT(418925 4577135)
114
112
 
115
- POLYGON((418391.8715694032 4576832.484383419,418721.82301488414 4577299.667608328,418727.18131229794 4576947.724919814,418391.8715694032 4576832.484383419))
113
+ > E.G.
116
114
 
117
- MULTILINESTRING((419268.8979576373 4577019.482027252,419146.6929889547 4577457.250226778,418798.40365705814 4577415.776056751))
115
+ ```
116
+ geom_astext: "POLYGON((418391.8715694032 4576832.484383419,418721.82301488414 4577299.667608328,418727.18131229794 4576947.724919814,418391.8715694032 4576832.484383419))"
118
117
  ```
119
118
 
120
119
  ##### loaded
@@ -306,7 +305,6 @@ CenterMap(419006.12985785044, 4576698.8136144625,18);
306
305
 
307
306
  ```
308
307
 
309
-
310
308
  ##### AddGeom(string)
311
309
 
312
310
  Launches drawing tools with the geometry type
@@ -315,6 +313,18 @@ Launches drawing tools with the geometry type
315
313
 
316
314
  - geom `<string>` - geometry type `Point` | `Line` | `Polygon`
317
315
 
316
+ Optional parameters
317
+
318
+ - `texts` (`object`): Texts to be displayed with draw tools.
319
+ - `start` (`string`): E.G. "Click to start drawing"
320
+ - `continnue`:(`string`): E.G. "Click to to continue drawing"
321
+ - `center` (`object`): Center options.
322
+ - `style` (`object`):
323
+ - `fill` (`string`): The fill color for the drawn geometry.
324
+ - `stroke` (`string`): The stroke color for the drawn geometry.
325
+ - `drawOnEnd` (`boolean`): Is is set to `false` geometry will not be added on end drawing. The event with the drawn geometry will still be emitted
326
+
327
+
318
328
  > E.G.
319
329
 
320
330
  ```
@@ -333,7 +343,13 @@ Clears drawn geometries
333
343
 
334
344
  ##### toggleLayer
335
345
 
336
- Shows/hides a layer
346
+ Shows/hides a layer.
347
+
348
+ ***Important**
349
+
350
+ This method loads a single layer. If you need to load multiple layers, use `loadMultipleLayers()` method
351
+
352
+ If ypu need to load multiple layers
337
353
 
338
354
  > Params
339
355
 
@@ -342,6 +358,7 @@ Shows/hides a layer
342
358
  - gutter `<integer>` - The size in pixels of the gutter around image tiles to ignore, only applies for multitile layer
343
359
  - singletile `<boolean>` - SingleTile Layer
344
360
  - transparent `<boolean>` - Transparent Layer
361
+ - type `<string>` - layer type (wms, geojson...)
345
362
 
346
363
  By default, layer properties will be:
347
364
 
@@ -365,6 +382,14 @@ With properties
365
382
  toggleLayer('somelayer_name', {gutter: 10, transparent: false, singletile: false);
366
383
  ```
367
384
 
385
+ ##### loadMultipleLayers()
386
+
387
+ Loads multiple layers. Use this method if you want to load multiple layers.
388
+
389
+ >Params
390
+
391
+ - layers `<array>`: array of layers, each layer with same proerties than `toggleLayer` method.
392
+
368
393
  ##### setActiveLayer()
369
394
 
370
395
  Sets a layer as acticve layer, used for infos
@@ -481,23 +506,34 @@ Geolocalize(false)
481
506
 
482
507
  ##### Higlight
483
508
 
484
- Highlights a geometry
509
+ Highlights/draws a geometry
485
510
 
486
511
  Params
487
512
 
488
- - options `<object>` highlight options
489
-
490
- - geom `<string>` - geometry string
513
+ - `geom` (`string`): The geometry string in WKT to highlight.
491
514
 
492
- - zoom `<object>`
515
+ Optional parameters
493
516
 
494
- - zoom.type `<string>` - `level | element`
517
+ - `zoom` (`object`): Zoom options.
518
+ - `type` (`string`): The type of zoom (`level` or `element`).
519
+ - `level`: Zoom to a specific zoom level.
520
+ - `element`: Zoom to the center of the geometry.
521
+ - `zoomLevel` (`number`, optional): The zoom level (1 to 28). Required if `type` is set to `level`.
522
+ - `center` (`object`): Center options.
523
+ - `data` (`object`): Additional data associated with the highlight.
524
+ - `feautureId` (`string`): The ID of the feature.
525
+ - `name` (`string`): The name of the feature.
526
+ - style (`object`): geometry styling options
527
+ - `fill` (`string`): The fill color for the highlighted geometry.
528
+ - `stroke` (`string`): The stroke color for the highlighted geometry.
529
+ - `animate` (`boolean`): Indicates whether to animate the highlight.
530
+ - `duration`: time of the animation in milliseconds
531
+ - `repeat`: true/false for repeteating animation
495
532
 
496
- _level_ will zoom to zoomLevel
533
+ Example of animation
497
534
 
498
- _element_ geometry center
535
+ ![](doc/animation.png)
499
536
 
500
- - zoom.zoomLevel `<integer>` 1 to 28
501
537
 
502
538
  > E.G.
503
539
 
@@ -526,6 +562,61 @@ let options = {
526
562
  Highlight(options);
527
563
  ```
528
564
 
565
+ ##### DrawGeometry
566
+
567
+ Draws a geometry
568
+
569
+ Params
570
+
571
+ - geom `<string>` - geometry string
572
+ - style `<object>`
573
+ - stroke_color `<string>`
574
+ - fill_color `<string>`
575
+ - geom_radius `<integer>`
576
+ - stroke_width `<integer>`
577
+ - font_color `<string>`
578
+ - font `<string>`
579
+ - placement `<string>`
580
+ - fontFillColor `<string>`
581
+ - fontStrokeColor `<string>`
582
+ - display `<string>`
583
+ - fontStrokeWidth `<integer>`
584
+ - offsetY `<integer>`
585
+ - baseline `<string>`
586
+ - align `<string>`
587
+ - name `<string>` feauture name
588
+ - id `<string>` feauture id
589
+
590
+ > E.G.
591
+
592
+ ```
593
+ //Draw a geometry with yellow stroke
594
+
595
+ const geom = 'MULTILINESTRING((418596.62555076234 4577083.383681167,419026.2319996517 4577216.795306675))'
596
+
597
+ const style = {
598
+ stroke_color: "rgb(233, 244, 75)"
599
+ }
600
+ }
601
+
602
+ DrawGeometry(geom,style,'sampleName','mockId');
603
+
604
+ ```
605
+ ##### RemoveGeometry
606
+
607
+ Removes a geometry
608
+
609
+ Params
610
+
611
+ - id `<string>` - rendered geometry unique
612
+ - layer `<string>` - layer name, optional
613
+
614
+ > E.G.
615
+
616
+ ```
617
+ RemoveGeometry('25', 'somlayer')
618
+ ```
619
+
529
620
  ##### toggleTiled
530
621
 
531
622
  Deprecated `toggleGiswaterTiled`
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VidroMaps=t():e.VidroMaps=t()}(self,(()=>(()=>{"use strict";var e={187:e=>{var t,o="object"==typeof Reflect?Reflect:null,n=o&&"function"==typeof o.apply?o.apply:function(e,t,o){return Function.prototype.apply.call(e,t,o)};t=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var r=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(e,t){return new Promise((function(o,n){function r(o){e.removeListener(t,s),n(o)}function s(){"function"==typeof e.removeListener&&e.removeListener("error",r),o([].slice.call(arguments))}y(e,t,s,{once:!0}),"error"!==t&&function(e,t,o){"function"==typeof e.on&&y(e,"error",t,{once:!0})}(e,r)}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var i=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function u(e,t,o,n){var r,s,i,u;if(a(o),void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,o.listener?o.listener:o),s=e._events),i=s[t]),void 0===i)i=s[t]=o,++e._eventsCount;else if("function"==typeof i?i=s[t]=n?[o,i]:[i,o]:n?i.unshift(o):i.push(o),(r=l(e))>0&&i.length>r&&!i.warned){i.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=i.length,u=c,console&&console.warn&&console.warn(u)}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,o){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:o},r=c.bind(n);return r.listener=o,n.wrapFn=r,r}function f(e,t,o){var n=e._events;if(void 0===n)return[];var r=n[t];return void 0===r?[]:"function"==typeof r?o?[r.listener||r]:[r]:o?function(e){for(var t=new Array(e.length),o=0;o<t.length;++o)t[o]=e[o].listener||e[o];return t}(r):m(r,r.length)}function p(e){var t=this._events;if(void 0!==t){var o=t[e];if("function"==typeof o)return 1;if(void 0!==o)return o.length}return 0}function m(e,t){for(var o=new Array(t),n=0;n<t;++n)o[n]=e[n];return o}function y(e,t,o,n){if("function"==typeof e.on)n.once?e.once(t,o):e.on(t,o);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function r(s){n.once&&e.removeEventListener(t,r),o(s)}))}}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");i=e}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},s.prototype.getMaxListeners=function(){return l(this)},s.prototype.emit=function(e){for(var t=[],o=1;o<arguments.length;o++)t.push(arguments[o]);var r="error"===e,s=this._events;if(void 0!==s)r=r&&void 0===s.error;else if(!r)return!1;if(r){var i;if(t.length>0&&(i=t[0]),i instanceof Error)throw i;var a=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw a.context=i,a}var l=s[e];if(void 0===l)return!1;if("function"==typeof l)n(l,this,t);else{var u=l.length,c=m(l,u);for(o=0;o<u;++o)n(c[o],this,t)}return!0},s.prototype.addListener=function(e,t){return u(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return u(this,e,t,!0)},s.prototype.once=function(e,t){return a(t),this.on(e,d(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,d(this,e,t)),this},s.prototype.removeListener=function(e,t){var o,n,r,s,i;if(a(t),void 0===(n=this._events))return this;if(void 0===(o=n[e]))return this;if(o===t||o.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,o.listener||t));else if("function"!=typeof o){for(r=-1,s=o.length-1;s>=0;s--)if(o[s]===t||o[s].listener===t){i=o[s].listener,r=s;break}if(r<0)return this;0===r?o.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(o,r),1===o.length&&(n[e]=o[0]),void 0!==n.removeListener&&this.emit("removeListener",e,i||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,o,n;if(void 0===(o=this._events))return this;if(void 0===o.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==o[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete o[e]),this;if(0===arguments.length){var r,s=Object.keys(o);for(n=0;n<s.length;++n)"removeListener"!==(r=s[n])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=o[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},s.prototype.listeners=function(e){return f(this,e,!0)},s.prototype.rawListeners=function(e){return f(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},s.prototype.listenerCount=p,s.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,o),s.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{Communicator:()=>g});var e=o(187);function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function r(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,i(n.key),n)}}function s(e,t,o){return t&&r(e.prototype,t),o&&r(e,o),Object.defineProperty(e,"prototype",{writable:!1}),e}function i(e){var o=function(e,o){if("object"!==t(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===t(o)?o:String(o)}var a="undefined"==typeof window,l=s((function e(t){var o,n,r,s=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),o=this,r=function(e){a||window.top.frames[s.domId].postMessage(e,"*")},(n=i(n="sendMessageToMap"))in o?Object.defineProperty(o,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):o[n]=r,this.domId="map-frame","string"==typeof t.id&&(this.domId=t.id)}));function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function c(e,t){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},c(e,t)}function d(e,t){if(t&&("object"===u(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return f(e)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function m(e,t,o){return(t=y(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function y(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var n=o.call(e,"string");if("object"!==u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===u(t)?t:String(t)}var g=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)}(s,e);var t,o,n,r=(o=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=p(o);if(n){var r=p(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return d(this,e)});function s(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),m(f(t=r.call(this)),"onMessageReceived",(function(e){switch(e.data.type){case"onZoomChange":t.emitEvent("onZoomChange",e.data.zoom,e.data.domId);break;case"geomAdded":t.emitEvent("geomAdded",e.data.geom_astext,e.data.domId);break;case"layers":t.emitEvent("layers",e.data.layers,e.data.domId);break;case"geoJSONlayers":t.emitEvent("geoJSONlayers",e.data.layers,e.data.domId);break;case"info":t.emitEvent("info",e.data,e.data.domId);break;case"error":t.emitEvent("error",e.data,e.data.domId);break;case"coordinates":t.emitEvent("coordinates",e.data,e.data.domId);break;case"activeLayer":t.emitEvent("activeLayer",e.data,e.data.domId);break;case"geolocation":t.emitEvent("geolocation",e.data,e.data.domId);break;case"WMSInfoAvailable":t.emitEvent("WMSInfoAvailable",e.data,e.data.domId);break;case"giswaterTiledBackgroundDisplayed":t.emitEvent("giswaterTiledBackgroundDisplayed",e.data,e.data.domId);break;case"giswaterTiledBackgroundAvailable":t.emitEvent("giswaterTiledBackgroundAvailable",e.data,e.data.domId);break;case"GiswaterLayerAvailableFilters":t.emitEvent("GiswaterLayerAvailableFilters",e.data,e.data.domId);break;case"loaded":t.emitEvent("loaded",e.data,e.data.domId);break;case"unloaded":t.emitEvent("unloaded",e.data,e.data.domId);break;case"availableWMSLayers":t.emitEvent("availableWMSLayers",e.data.layers,e.data.domId);break;case"layerElements":t.emitEvent("layerElements",e.data,e.data.domId);break;case"getToc":t.emitEvent("getToc",e.data,e.data.domId);break;case"status":t.emitEvent("status",e.data,e.data.domId)}})),m(f(t),"emitEvent",(function(e,o,n){n===t.domId&&(delete o.domId,t.emit(e,o))})),m(f(t),"ZoomIn",(function(){t.com.sendMessageToMap({type:"zoomIn",sessionToken:t.sessionToken})})),m(f(t),"ZoomOut",(function(){t.com.sendMessageToMap({type:"zoomOut",sessionToken:t.sessionToken})})),m(f(t),"AddGeom",(function(e){t.com.sendMessageToMap({type:"AddGeom",geom:e,sessionToken:t.sessionToken})})),m(f(t),"toggleLayer",(function(e,o){void 0===o&&(o={gutter:null,transparent:null,singletile:null}),null!==o.singletile&&"boolean"!=typeof o.singletile&&(o.singletile=null,t.emit("error",{error:"singleTile must be a Boolean"})),""!==o.gutter&&null!==o.gutter&&(isNaN(parseInt(o.gutter))&&(o.gutter=null,t.emit("error",{error:"Gutter must be a number"})),o.singletile&&(o.gutter=null,t.emit("error",{error:"Gutter can only be user with multitile layers; set singletile to false"}))),null!==o.transparent&&"boolean"!=typeof o.transparent&&(o.transparent=null,t.emit("error",{error:"transparent must be a Boolean"})),t.com.sendMessageToMap({type:"toggleLayer",layer:e,gutter:isNaN(parseInt(o.gutter))?null:parseInt(o.gutter),transparent:o.transparent,singletile:o.singletile,sessionToken:t.sessionToken})})),m(f(t),"setActiveLayer",(function(e){t.com.sendMessageToMap({type:"setActiveLayer",layer:e,sessionToken:t.sessionToken})})),m(f(t),"getActiveLayer",(function(){t.com.sendMessageToMap({type:"getActiveLayer",sessionToken:t.sessionToken})})),m(f(t),"loadWMSAvailableLayers",(function(){t.com.sendMessageToMap({type:"loadWMSAvailableLayers",sessionToken:t.sessionToken})})),m(f(t),"clear",(function(){t.com.sendMessageToMap({type:"clear",sessionToken:t.sessionToken})})),m(f(t),"Highlight",(function(e){t.com.sendMessageToMap({type:"highlight",geom:e.geom,zoom:e.zoom,sessionToken:t.sessionToken})})),m(f(t),"DrawGeometry",(function(e,o,n){var r={stroke_color:styles.stroke_color?styles.stroke_color:null,fill_color:styles.fill_color?styles.fill_color:null,point_fill_color:styles.point_fill_color?styles.point_fill_color:null,geom_radius:styles.geom_radius?styles.geom_radius:null,stroke_width:styles.stroke_width?styles.stroke_width:null,font_color:styles.font_color?styles.font_color:null,font:styles.font?styles.font:null,fontSize:styles.fontSize?styles.fontSize:null,placement:styles.placement?styles.placement:null,fontFillColor:styles.fontFillColor?styles.fontFillColor:null,fontStrokeColor:styles.fontStrokeColor?styles.fontStrokeColor:null,fontStrokeWidth:styles.fontStrokeWidth?styles.fontStrokeWidth:null,baseline:styles.baseline?styles.baseline:null,align:styles.align?styles.align:null,display:styles.display?styles.display:null};t.com.sendMessageToMap({type:"drawGeometry",geom:e,style:r,name:n||"highlight",sessionToken:t.sessionToken})})),m(f(t),"zoomToExtent",(function(){t.com.sendMessageToMap({type:"zoomToExtent",sessionToken:t.sessionToken})})),m(f(t),"zoomToCoordinates",(function(e,o,n){isNaN(parseInt(n))||t.com.sendMessageToMap({type:"zoomToCoordinates",sessionToken:t.sessionToken,coordinates:[e,o],zoomLevel:n})})),m(f(t),"infoFromCoordinates",(function(e,o,n,r){var s=void 0===o?null:o,i=void 0!==n&&n?parseInt(n):5,a=void 0===r?"xml":r.toLowerCase();"xml"===a||"json"===a?isNaN(i)?console.error("hitTolerance must be a number"):t.com.sendMessageToMap({type:"infoFromCoordinates",info:e,layer:s,format:a,hitTolerance:i,sessionToken:t.sessionToken}):console.error("Format must be 'xml' or 'json")})),m(f(t),"getElementsFromLayer",(function(e,o,n){var r=void 0===n?"xml":n.toLowerCase();if("xml"===r||"json"===r)if(isNaN(o))console.error("Limit must be a number");else{var s=void 0===e?null:e;t.com.sendMessageToMap({type:"getElementsFromLayer",layer:s,limit:void 0!==o?parseInt(o):100,format:n,sessionToken:t.sessionToken})}else console.error("Format must be 'xml' or 'json")})),m(f(t),"Geolocalize",(function(e){t.com.sendMessageToMap({type:"Geolocalize",toggle:e,sessionToken:t.sessionToken})})),m(f(t),"toggleGiswaterTiled",(function(e,o){t.com.sendMessageToMap({type:"toggleGiswaterTiled",toggle:e,tiled:o,sessionToken:t.sessionToken})})),m(f(t),"toggleTiled",(function(e,o){t.com.sendMessageToMap({type:"toggleTiled",toggle:e,tiled:o,sessionToken:t.sessionToken})})),m(f(t),"getTiled",(function(){t.com.sendMessageToMap({type:"getTiled",sessionToken:t.sessionToken})})),m(f(t),"toggleSecondaryBackground",(function(e){t.com.sendMessageToMap({type:"toggleSecondaryBackground",toggle:e})})),m(f(t),"getSecondaryBackground",(function(){t.com.sendMessageToMap({type:"getSecondaryBackground",sessionToken:t.sessionToken})})),m(f(t),"reloadDisplayedLayers",(function(){return t.com.sendMessageToMap({type:"reloadDisplayedLayers",sessionToken:t.sessionToken})})),m(f(t),"addGeoJSON",(function(e,o,n){return e?t.com.sendMessageToMap({type:"addGeoJSON",geoJSON:e,options:void 0!==o?o:{fillcolor:null,strokecolor:null},name:n||Math.random().toString(36).substring(7),sessionToken:t.sessionToken}):void t.emit("error",{error:"No geoJSON data"})})),m(f(t),"clearGeoJSON",(function(){return t.com.sendMessageToMap({type:"clearGeoJSON",sessionToken:t.sessionToken})})),m(f(t),"removeGeoJSONLayer",(function(e){return e?t.com.sendMessageToMap({type:"removeGeoJSONLayer",name:e,sessionToken:t.sessionToken}):void t.emit("error",{error:"No geoJSON data"})})),m(f(t),"setGiswaterFilters",(function(e){var o=e;if(e){if("object"!=u(e)){e=(e=(e=e.trim()).replace(/^\s+|\s+$/g,"")).replace(/\\/g,"");try{o=JSON.parse(e)}catch(e){return void t.emit("error",{error:"Filters is not a valid JSON"})}}return t.com.sendMessageToMap({type:"setGiswaterFilters",filters:o,sessionToken:t.sessionToken})}t.emit("error",{error:"No filters"})})),m(f(t),"setFilters",(function(e){var o=e;if(e){if("object"!=u(e)){e=(e=(e=e.trim()).replace(/^\s+|\s+$/g,"")).replace(/\\/g,"");try{o=JSON.parse(e)}catch(e){return void t.emit("error",{error:"Filters is not a valid JSON"})}}return t.com.sendMessageToMap({type:"setFilters",filters:o,sessionToken:t.sessionToken})}t.emit("error",{error:"No filters"})})),m(f(t),"getGiswaterLayerAvailableFilters",(function(e){return e?t.com.sendMessageToMap({type:"getGiswaterLayerAvailableFilters",name:e,sessionToken:t.sessionToken}):void t.emit("error",{error:"No layer_name"})})),m(f(t),"CenterMap",(function(e,o){t.com.sendMessageToMap({type:"centerMap",coordinates:[e,o]})})),m(f(t),"getToc",(function(){return t.com.sendMessageToMap({type:"getToc",sessionToken:t.sessionToken})})),m(f(t),"setDebug",(function(e){isNaN(parseInt(e))?console.error("Debug is not a integer"):t.com.sendMessageToMap({type:"setDebug",what:e,sessionToken:t.sessionToken})})),m(f(t),"setCustomColors",(function(e){if("object"===u(e)){if(e.hasOwnProperty("geom_stroke_width")){if(isNaN(parseInt(e.geom_stroke_width)))return void console.error("geom_stroke_width is not an number");e.geom_stroke_width=parseInt(e.geom_stroke_width)}else e.geom_stroke_width=1;if(e.hasOwnProperty("geom_radius")){if(isNaN(parseInt(e.geom_radius)))return void console.error("geom_stroke_width is not an number");e.geom_radius=parseInt(e.geom_radius)}else e.geom_radius=4;e.hasOwnProperty("geom_shape")&&"circle"!==e.geom_shape&&"square"!==e.geom_shape&&(e.geom_shape="circle",console.error("geom_shape must be either 'circle' or 'square'")),t.com.sendMessageToMap({type:"setCustomColors",properties:e,sessionToken:t.sessionToken})}else console.error("properties is not an object")})),m(f(t),"changeBackground",(function(e){return t.com.sendMessageToMap({type:"changeBackground",sessionToken:t.sessionToken,newBackground:e})})),m(f(t),"getBackground",(function(){t.com.sendMessageToMap({type:"getBackground",sessionToken:t.sessionToken})})),m(f(t),"initMeasure",(function(e,o,n){return t.com.sendMessageToMap({type:"initMeasure",sessionToken:t.sessionToken,measure:e,textStart:o,textContinue:n})})),m(f(t),"cancelMeasure",(function(){return t.com.sendMessageToMap({type:"cancelMeasure",sessionToken:t.sessionToken})})),t.domId="map-frame","undefined"==typeof window?d(t):("string"==typeof e.id&&(t.domId=e.id),t.com=new l(e),window.addEventListener("message",(function(e){return t.onMessageReceived(e)})),t.sessionToken=e.sessionToken,t)}return t=s,Object.defineProperty(t,"prototype",{writable:!1}),t}(e.EventEmitter)})(),n})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VidroMaps=t():e.VidroMaps=t()}(self,(()=>(()=>{"use strict";var e={187:e=>{var t,o="object"==typeof Reflect?Reflect:null,n=o&&"function"==typeof o.apply?o.apply:function(e,t,o){return Function.prototype.apply.call(e,t,o)};t=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var r=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(e,t){return new Promise((function(o,n){function r(o){e.removeListener(t,s),n(o)}function s(){"function"==typeof e.removeListener&&e.removeListener("error",r),o([].slice.call(arguments))}y(e,t,s,{once:!0}),"error"!==t&&function(e,t,o){"function"==typeof e.on&&y(e,"error",t,{once:!0})}(e,r)}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var i=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function u(e,t,o,n){var r,s,i,u;if(a(o),void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,o.listener?o.listener:o),s=e._events),i=s[t]),void 0===i)i=s[t]=o,++e._eventsCount;else if("function"==typeof i?i=s[t]=n?[o,i]:[i,o]:n?i.unshift(o):i.push(o),(r=l(e))>0&&i.length>r&&!i.warned){i.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=i.length,u=c,console&&console.warn&&console.warn(u)}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,o){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:o},r=c.bind(n);return r.listener=o,n.wrapFn=r,r}function f(e,t,o){var n=e._events;if(void 0===n)return[];var r=n[t];return void 0===r?[]:"function"==typeof r?o?[r.listener||r]:[r]:o?function(e){for(var t=new Array(e.length),o=0;o<t.length;++o)t[o]=e[o].listener||e[o];return t}(r):m(r,r.length)}function p(e){var t=this._events;if(void 0!==t){var o=t[e];if("function"==typeof o)return 1;if(void 0!==o)return o.length}return 0}function m(e,t){for(var o=new Array(t),n=0;n<t;++n)o[n]=e[n];return o}function y(e,t,o,n){if("function"==typeof e.on)n.once?e.once(t,o):e.on(t,o);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function r(s){n.once&&e.removeEventListener(t,r),o(s)}))}}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");i=e}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},s.prototype.getMaxListeners=function(){return l(this)},s.prototype.emit=function(e){for(var t=[],o=1;o<arguments.length;o++)t.push(arguments[o]);var r="error"===e,s=this._events;if(void 0!==s)r=r&&void 0===s.error;else if(!r)return!1;if(r){var i;if(t.length>0&&(i=t[0]),i instanceof Error)throw i;var a=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw a.context=i,a}var l=s[e];if(void 0===l)return!1;if("function"==typeof l)n(l,this,t);else{var u=l.length,c=m(l,u);for(o=0;o<u;++o)n(c[o],this,t)}return!0},s.prototype.addListener=function(e,t){return u(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return u(this,e,t,!0)},s.prototype.once=function(e,t){return a(t),this.on(e,d(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,d(this,e,t)),this},s.prototype.removeListener=function(e,t){var o,n,r,s,i;if(a(t),void 0===(n=this._events))return this;if(void 0===(o=n[e]))return this;if(o===t||o.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,o.listener||t));else if("function"!=typeof o){for(r=-1,s=o.length-1;s>=0;s--)if(o[s]===t||o[s].listener===t){i=o[s].listener,r=s;break}if(r<0)return this;0===r?o.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(o,r),1===o.length&&(n[e]=o[0]),void 0!==n.removeListener&&this.emit("removeListener",e,i||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,o,n;if(void 0===(o=this._events))return this;if(void 0===o.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==o[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete o[e]),this;if(0===arguments.length){var r,s=Object.keys(o);for(n=0;n<s.length;++n)"removeListener"!==(r=s[n])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=o[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},s.prototype.listeners=function(e){return f(this,e,!0)},s.prototype.rawListeners=function(e){return f(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},s.prototype.listenerCount=p,s.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,o),s.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{Communicator:()=>g});var e=o(187);function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function r(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,i(n.key),n)}}function s(e,t,o){return t&&r(e.prototype,t),o&&r(e,o),Object.defineProperty(e,"prototype",{writable:!1}),e}function i(e){var o=function(e,o){if("object"!==t(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===t(o)?o:String(o)}var a="undefined"==typeof window,l=s((function e(t){var o,n,r,s=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),o=this,r=function(e){a||window.top.frames[s.domId].postMessage(e,"*")},(n=i(n="sendMessageToMap"))in o?Object.defineProperty(o,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):o[n]=r,this.domId="map-frame","string"==typeof t.id&&(this.domId=t.id)}));function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function c(e,t){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},c(e,t)}function d(e,t){if(t&&("object"===u(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return f(e)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function m(e,t,o){return(t=y(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function y(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var n=o.call(e,"string");if("object"!==u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===u(t)?t:String(t)}var g=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)}(s,e);var t,o,n,r=(o=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=p(o);if(n){var r=p(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return d(this,e)});function s(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),m(f(t=r.call(this)),"onMessageReceived",(function(e){switch(e.data.type){case"onZoomChange":t.emitEvent("onZoomChange",e.data.zoom,e.data.domId);break;case"geomAdded":t.emitEvent("geomAdded",e.data,e.data.domId);break;case"layers":t.emitEvent("layers",e.data.layers,e.data.domId);break;case"geoJSONlayers":t.emitEvent("geoJSONlayers",e.data.layers,e.data.domId);break;case"info":t.emitEvent("info",e.data,e.data.domId);break;case"error":t.emitEvent("error",e.data,e.data.domId);break;case"coordinates":t.emitEvent("coordinates",e.data,e.data.domId);break;case"activeLayer":t.emitEvent("activeLayer",e.data,e.data.domId);break;case"geolocation":t.emitEvent("geolocation",e.data,e.data.domId);break;case"WMSInfoAvailable":t.emitEvent("WMSInfoAvailable",e.data,e.data.domId);break;case"giswaterTiledBackgroundDisplayed":t.emitEvent("giswaterTiledBackgroundDisplayed",e.data,e.data.domId);break;case"giswaterTiledBackgroundAvailable":t.emitEvent("giswaterTiledBackgroundAvailable",e.data,e.data.domId);break;case"GiswaterLayerAvailableFilters":t.emitEvent("GiswaterLayerAvailableFilters",e.data,e.data.domId);break;case"loaded":t.emitEvent("loaded",e.data,e.data.domId);break;case"unloaded":t.emitEvent("unloaded",e.data,e.data.domId);break;case"availableWMSLayers":t.emitEvent("availableWMSLayers",e.data.layers,e.data.domId);break;case"layerElements":t.emitEvent("layerElements",e.data,e.data.domId);break;case"getToc":t.emitEvent("getToc",e.data,e.data.domId);break;case"status":t.emitEvent("status",e.data,e.data.domId)}})),m(f(t),"emitEvent",(function(e,o,n){n===t.domId&&(delete o.domId,t.emit(e,o))})),m(f(t),"ZoomIn",(function(){t.com.sendMessageToMap({type:"zoomIn",sessionToken:t.sessionToken})})),m(f(t),"ZoomOut",(function(){t.com.sendMessageToMap({type:"zoomOut",sessionToken:t.sessionToken})})),m(f(t),"AddGeom",(function(e,o){t.com.sendMessageToMap({type:"AddGeom",geom:e,texts:null==o?void 0:o.texts,style:null==o?void 0:o.style,drawOnEnd:null==o?void 0:o.drawOnEnd,sessionToken:t.sessionToken})})),m(f(t),"loadMultipleLayers",(function(e){void 0===e?t.com.sendMessageToMap({type:"loadMultipleLayers",layers:e}):t.emit("error",{error:"no layers"})})),m(f(t),"toggleLayer",(function(e,o){void 0===o&&(o={gutter:null,transparent:null,singletile:null}),null!==o.singletile&&"boolean"!=typeof o.singletile&&(o.singletile=null,t.emit("error",{error:"singleTile must be a Boolean"})),""!==o.gutter&&null!==o.gutter&&(isNaN(parseInt(o.gutter))&&(o.gutter=null,t.emit("error",{error:"Gutter must be a number"})),o.singletile&&(o.gutter=null,t.emit("error",{error:"Gutter can only be user with multitile layers; set singletile to false"}))),null!==o.transparent&&"boolean"!=typeof o.transparent&&(o.transparent=null,t.emit("error",{error:"transparent must be a Boolean"})),t.com.sendMessageToMap({type:"toggleLayer",layer:e,gutter:isNaN(parseInt(o.gutter))?null:parseInt(o.gutter),transparent:o.transparent,singletile:o.singletile,sessionToken:t.sessionToken})})),m(f(t),"setActiveLayer",(function(e){t.com.sendMessageToMap({type:"setActiveLayer",layer:e,sessionToken:t.sessionToken})})),m(f(t),"getActiveLayer",(function(){t.com.sendMessageToMap({type:"getActiveLayer",sessionToken:t.sessionToken})})),m(f(t),"loadWMSAvailableLayers",(function(){t.com.sendMessageToMap({type:"loadWMSAvailableLayers",sessionToken:t.sessionToken})})),m(f(t),"clear",(function(){t.com.sendMessageToMap({type:"clear",sessionToken:t.sessionToken})})),m(f(t),"Highlight",(function(e){t.com.sendMessageToMap({type:"highlight",geom:e.geom,zoom:e.zoom,metadata:null==e?void 0:e.data,center:void 0!==(null==e?void 0:e.center)&&e.center,animate:null==e?void 0:e.animate,style:null==e?void 0:e.style,sessionToken:t.sessionToken})})),m(f(t),"AddMultipleGeometries",(function(e){void 0===e?t.com.sendMessageToMap({type:"AddMultipleGeometries",geoms:e}):t.emit("error",{error:"no geoms"})})),m(f(t),"DrawGeometry",(function(e,o,n,r){var s={stroke_color:o.stroke_color?o.stroke_color:null,fill_color:o.fill_color?o.fill_color:null,point_fill_color:o.point_fill_color?o.point_fill_color:null,geom_radius:o.geom_radius?o.geom_radius:null,stroke_width:o.stroke_width?o.stroke_width:null,font_color:o.font_color?o.font_color:null,font:o.font?o.font:null,font_size:o.font_size?o.font_size:null,placement:o.placement?o.placement:null,fontFillColor:o.fontFillColor?o.fontFillColor:null,fontStrokeColor:o.fontStrokeColor?o.fontStrokeColor:null,fontStrokeWidth:o.fontStrokeWidth?o.fontStrokeWidth:null,baseline:o.baseline?o.baseline:null,align:o.align?o.align:null,display:o.display?o.display:null,offsetY:o.offsetY?o.offsetY:null};t.com.sendMessageToMap({type:"drawGeometry",geom:e,style:s,name:n||"highlight",id:r||Math.floor(1e3*Math.random())+1,sessionToken:t.sessionToken})})),m(f(t),"RemoveGeometry",(function(e){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=void 0===e?null:e;if(!n)return console.error("No element id"),void t.emit("error",{error:"No element id"});t.com.sendMessageToMap({type:"removeGeometry",layer:o,id:n})})),m(f(t),"zoomToExtent",(function(){t.com.sendMessageToMap({type:"zoomToExtent",sessionToken:t.sessionToken})})),m(f(t),"zoomToCoordinates",(function(e,o,n){isNaN(parseInt(n))||t.com.sendMessageToMap({type:"zoomToCoordinates",sessionToken:t.sessionToken,coordinates:[e,o],zoomLevel:n})})),m(f(t),"infoFromCoordinates",(function(e,o,n,r){var s=void 0===o?null:o,i=void 0!==n&&n?parseInt(n):5,a=void 0===r?"xml":r.toLowerCase();"xml"===a||"json"===a?isNaN(i)?console.error("hitTolerance must be a number"):t.com.sendMessageToMap({type:"infoFromCoordinates",info:e,layer:s,format:a,hitTolerance:i,sessionToken:t.sessionToken}):console.error("Format must be 'xml' or 'json")})),m(f(t),"getElementsFromLayer",(function(e,o,n){var r=void 0===n?"xml":n.toLowerCase();if("xml"===r||"json"===r)if(isNaN(o))console.error("Limit must be a number");else{var s=void 0===e?null:e;t.com.sendMessageToMap({type:"getElementsFromLayer",layer:s,limit:void 0!==o?parseInt(o):100,format:n,sessionToken:t.sessionToken})}else console.error("Format must be 'xml' or 'json")})),m(f(t),"Geolocalize",(function(e){t.com.sendMessageToMap({type:"Geolocalize",toggle:e,sessionToken:t.sessionToken})})),m(f(t),"toggleGiswaterTiled",(function(e,o){t.com.sendMessageToMap({type:"toggleGiswaterTiled",toggle:e,tiled:o,sessionToken:t.sessionToken})})),m(f(t),"toggleTiled",(function(e,o){t.com.sendMessageToMap({type:"toggleTiled",toggle:e,tiled:o,sessionToken:t.sessionToken})})),m(f(t),"getTiled",(function(){t.com.sendMessageToMap({type:"getTiled",sessionToken:t.sessionToken})})),m(f(t),"toggleSecondaryBackground",(function(e){t.com.sendMessageToMap({type:"toggleSecondaryBackground",toggle:e})})),m(f(t),"getSecondaryBackground",(function(){t.com.sendMessageToMap({type:"getSecondaryBackground",sessionToken:t.sessionToken})})),m(f(t),"reloadDisplayedLayers",(function(){return t.com.sendMessageToMap({type:"reloadDisplayedLayers",sessionToken:t.sessionToken})})),m(f(t),"addGeoJSON",(function(e,o,n){return e?t.com.sendMessageToMap({type:"addGeoJSON",geoJSON:e,options:void 0!==o?o:{fillcolor:null,strokecolor:null},name:n||Math.random().toString(36).substring(7),sessionToken:t.sessionToken}):void t.emit("error",{error:"No geoJSON data"})})),m(f(t),"clearGeoJSON",(function(){return t.com.sendMessageToMap({type:"clearGeoJSON",sessionToken:t.sessionToken})})),m(f(t),"removeGeoJSONLayer",(function(e){return e?t.com.sendMessageToMap({type:"removeGeoJSONLayer",name:e,sessionToken:t.sessionToken}):void t.emit("error",{error:"No geoJSON data"})})),m(f(t),"setGiswaterFilters",(function(e){var o=e;if(e){if("object"!=u(e)){e=(e=(e=e.trim()).replace(/^\s+|\s+$/g,"")).replace(/\\/g,"");try{o=JSON.parse(e)}catch(e){return void t.emit("error",{error:"Filters is not a valid JSON"})}}return t.com.sendMessageToMap({type:"setGiswaterFilters",filters:o,sessionToken:t.sessionToken})}t.emit("error",{error:"No filters"})})),m(f(t),"setFilters",(function(e){var o=e;if(e){if("object"!=u(e)){e=(e=(e=e.trim()).replace(/^\s+|\s+$/g,"")).replace(/\\/g,"");try{o=JSON.parse(e)}catch(e){return void t.emit("error",{error:"Filters is not a valid JSON"})}}return t.com.sendMessageToMap({type:"setFilters",filters:o,sessionToken:t.sessionToken})}t.emit("error",{error:"No filters"})})),m(f(t),"getGiswaterLayerAvailableFilters",(function(e){return e?t.com.sendMessageToMap({type:"getGiswaterLayerAvailableFilters",name:e,sessionToken:t.sessionToken}):void t.emit("error",{error:"No layer_name"})})),m(f(t),"CenterMap",(function(e,o){t.com.sendMessageToMap({type:"centerMap",coordinates:[e,o]})})),m(f(t),"getToc",(function(){return t.com.sendMessageToMap({type:"getToc",sessionToken:t.sessionToken})})),m(f(t),"setDebug",(function(e){isNaN(parseInt(e))?console.error("Debug is not a integer"):t.com.sendMessageToMap({type:"setDebug",what:e,sessionToken:t.sessionToken})})),m(f(t),"setCustomColors",(function(e){if("object"===u(e)){if(e.hasOwnProperty("geom_stroke_width")){if(isNaN(parseInt(e.geom_stroke_width)))return void console.error("geom_stroke_width is not an number");e.geom_stroke_width=parseInt(e.geom_stroke_width)}else e.geom_stroke_width=1;if(e.hasOwnProperty("geom_radius")){if(isNaN(parseInt(e.geom_radius)))return void console.error("geom_stroke_width is not an number");e.geom_radius=parseInt(e.geom_radius)}else e.geom_radius=4;e.hasOwnProperty("geom_shape")&&"circle"!==e.geom_shape&&"square"!==e.geom_shape&&(e.geom_shape="circle",console.error("geom_shape must be either 'circle' or 'square'")),t.com.sendMessageToMap({type:"setCustomColors",properties:e,sessionToken:t.sessionToken})}else console.error("properties is not an object")})),m(f(t),"changeBackground",(function(e){return t.com.sendMessageToMap({type:"changeBackground",sessionToken:t.sessionToken,newBackground:e})})),m(f(t),"getBackground",(function(){t.com.sendMessageToMap({type:"getBackground",sessionToken:t.sessionToken})})),m(f(t),"initMeasure",(function(e,o,n){return t.com.sendMessageToMap({type:"initMeasure",sessionToken:t.sessionToken,measure:e,textStart:o,textContinue:n})})),m(f(t),"cancelMeasure",(function(){return t.com.sendMessageToMap({type:"cancelMeasure",sessionToken:t.sessionToken})})),t.domId="map-frame","undefined"==typeof window?d(t):("string"==typeof e.id&&(t.domId=e.id),t.com=new l(e),window.addEventListener("message",(function(e){return t.onMessageReceived(e)})),t.sessionToken=e.sessionToken,t)}return t=s,Object.defineProperty(t,"prototype",{writable:!1}),t}(e.EventEmitter)})(),n})()));
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vidro/map-handler",
3
- "version": "1.2.1",
3
+ "version": "1.2.12",
4
4
  "description": "Tool to achieve the easiest way of communication with the map",
5
5
  "homepage": "https://github.com/Vidro-Software-SL/maphandler",
6
6
  "repository": {
package/src/index.js CHANGED
@@ -21,7 +21,7 @@ class Communicator extends EventEmitter {
21
21
  this.emitEvent("onZoomChange", e.data.zoom, e.data.domId);
22
22
  break;
23
23
  case "geomAdded":
24
- this.emitEvent("geomAdded", e.data.geom_astext, e.data.domId);
24
+ this.emitEvent("geomAdded", e.data, e.data.domId);
25
25
  break;
26
26
  case "layers":
27
27
  this.emitEvent("layers", e.data.layers, e.data.domId);
@@ -107,14 +107,28 @@ class Communicator extends EventEmitter {
107
107
  });
108
108
  };
109
109
 
110
- AddGeom = (geomtype) => {
110
+ AddGeom = (geomtype, options) => {
111
111
  this.com.sendMessageToMap({
112
112
  type: "AddGeom",
113
113
  geom: geomtype,
114
+ texts: options?.texts,
115
+ style: options?.style,
116
+ drawOnEnd: options?.drawOnEnd,
114
117
  sessionToken: this.sessionToken,
115
118
  });
116
119
  };
117
120
 
121
+ loadMultipleLayers = (layers) => {
122
+ if (typeof layers === "undefined") {
123
+ this.com.sendMessageToMap({
124
+ type: "loadMultipleLayers",
125
+ layers: layers,
126
+ });
127
+ } else {
128
+ this.emit("error", { error: "no layers" });
129
+ }
130
+ };
131
+
118
132
  toggleLayer = (layer, properties) => {
119
133
  if (typeof properties === "undefined") {
120
134
  properties = {
@@ -196,11 +210,26 @@ class Communicator extends EventEmitter {
196
210
  type: "highlight",
197
211
  geom: options.geom,
198
212
  zoom: options.zoom,
213
+ metadata: options?.data,
214
+ center: options?.center !== undefined ? options.center : false,
215
+ animate: options?.animate,
216
+ style: options?.style,
199
217
  sessionToken: this.sessionToken,
200
218
  });
201
219
  };
202
220
 
203
- DrawGeometry = (geom, stylesm, name) => {
221
+ AddMultipleGeometries = (geoms) => {
222
+ if (typeof geoms === "undefined") {
223
+ this.com.sendMessageToMap({
224
+ type: "AddMultipleGeometries",
225
+ geoms,
226
+ });
227
+ } else {
228
+ this.emit("error", { error: "no geoms" });
229
+ }
230
+ };
231
+
232
+ DrawGeometry = (geom, styles, name, id) => {
204
233
  const sty = {
205
234
  stroke_color: styles.stroke_color ? styles.stroke_color : null,
206
235
  fill_color: styles.fill_color ? styles.fill_color : null,
@@ -212,7 +241,7 @@ class Communicator extends EventEmitter {
212
241
  //text
213
242
  font_color: styles.font_color ? styles.font_color : null,
214
243
  font: styles.font ? styles.font : null,
215
- fontSize: styles.fontSize ? styles.fontSize : null,
244
+ font_size: styles.font_size ? styles.font_size : null,
216
245
  placement: styles.placement ? styles.placement : null,
217
246
  fontFillColor: styles.fontFillColor ? styles.fontFillColor : null,
218
247
  fontStrokeColor: styles.fontStrokeColor ? styles.fontStrokeColor : null,
@@ -220,6 +249,7 @@ class Communicator extends EventEmitter {
220
249
  baseline: styles.baseline ? styles.baseline : null,
221
250
  align: styles.align ? styles.align : null,
222
251
  display: styles.display ? styles.display : null,
252
+ offsetY: styles.offsetY ? styles.offsetY : null,
223
253
  };
224
254
 
225
255
  this.com.sendMessageToMap({
@@ -227,10 +257,25 @@ class Communicator extends EventEmitter {
227
257
  geom: geom,
228
258
  style: sty,
229
259
  name: name ? name : "highlight",
260
+ id: id ? id : Math.floor(Math.random() * 1000) + 1,
230
261
  sessionToken: this.sessionToken,
231
262
  });
232
263
  };
233
264
 
265
+ RemoveGeometry = (id, layer = null) => {
266
+ const _id = typeof id == "undefined" ? null : id;
267
+ if (!_id) {
268
+ console.error("No element id");
269
+ this.emit("error", { error: "No element id" });
270
+ return;
271
+ }
272
+ this.com.sendMessageToMap({
273
+ type: "removeGeometry",
274
+ layer,
275
+ id: _id,
276
+ });
277
+ };
278
+
234
279
  zoomToExtent = () => {
235
280
  this.com.sendMessageToMap({
236
281
  type: "zoomToExtent",