geojs 1.12.4 → 1.12.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/geo.js +823 -856
- package/geo.lean.js +823 -856
- package/geo.lean.min.js +3 -3
- package/geo.min.js +4 -4
- package/package.json +1 -1
- package/src/annotation/annotation.js +17 -18
- package/src/annotation/circleAnnotation.js +3 -3
- package/src/annotation/ellipseAnnotation.js +4 -4
- package/src/annotation/lineAnnotation.js +3 -3
- package/src/annotation/pointAnnotation.js +3 -4
- package/src/annotation/polygonAnnotation.js +2 -3
- package/src/annotation/rectangleAnnotation.js +8 -8
- package/src/annotation/squareAnnotation.js +3 -3
- package/src/annotationLayer.js +4 -4
- package/src/choroplethFeature.js +2 -3
- package/src/contourFeature.js +2 -3
- package/src/feature.js +2 -2
- package/src/graphFeature.js +3 -3
- package/src/gridFeature.js +2 -3
- package/src/heatmapFeature.js +1 -2
- package/src/index.js +1 -1
- package/src/isolineFeature.js +3 -4
- package/src/layer.js +1 -1
- package/src/lineFeature.js +1 -3
- package/src/map.js +11 -11
- package/src/mapInteractor.js +13 -14
- package/src/markerFeature.js +2 -4
- package/src/meshFeature.js +2 -3
- package/src/osmLayer.js +4 -5
- package/src/pathFeature.js +1 -2
- package/src/pixelmapFeature.js +1 -1
- package/src/pixelmapLayer.js +3 -4
- package/src/pointFeature.js +2 -4
- package/src/polygonFeature.js +1 -2
- package/src/quadFeature.js +1 -1
- package/src/registry.js +29 -28
- package/src/svg/pathFeature.js +1 -2
- package/src/textFeature.js +1 -3
- package/src/tileLayer.js +5 -4
- package/src/trackFeature.js +7 -14
- package/src/ui/scaleWidget.js +3 -3
- package/src/ui/widget.js +1 -2
- package/src/util/clustering.js +1 -1
- package/src/util/common.js +38 -1
- package/src/util/mesh.js +3 -4
- package/src/util/mockVGL.js +1 -2
- package/src/vectorFeature.js +1 -3
package/src/tileLayer.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
var inherit = require('./inherit');
|
|
2
2
|
var featureLayer = require('./featureLayer');
|
|
3
|
+
var util = require('./util');
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Object specification for a tile layer.
|
|
@@ -194,7 +195,7 @@ var tileLayer = function (arg) {
|
|
|
194
195
|
var adjustLayerForRenderer = require('./registry').adjustLayerForRenderer;
|
|
195
196
|
var Tile = require('./tile');
|
|
196
197
|
|
|
197
|
-
arg =
|
|
198
|
+
arg = util.deepMerge({}, this.constructor.defaults, arg || {});
|
|
198
199
|
if (!arg.cacheSize) {
|
|
199
200
|
// this size should be sufficient for a 4k display
|
|
200
201
|
// where display size is (w, h), minimum tile dimension is ts, and total
|
|
@@ -236,7 +237,7 @@ var tileLayer = function (arg) {
|
|
|
236
237
|
m_this = this;
|
|
237
238
|
|
|
238
239
|
// copy the options into a private variable
|
|
239
|
-
this._options =
|
|
240
|
+
this._options = util.deepMerge({}, arg);
|
|
240
241
|
|
|
241
242
|
// set the layer attribution text
|
|
242
243
|
this.attribution(arg.attribution);
|
|
@@ -282,7 +283,7 @@ var tileLayer = function (arg) {
|
|
|
282
283
|
* @name geo.tileLayer#options
|
|
283
284
|
*/
|
|
284
285
|
Object.defineProperty(this, 'options', {get: function () {
|
|
285
|
-
return
|
|
286
|
+
return Object.assign({}, m_this._options);
|
|
286
287
|
}});
|
|
287
288
|
|
|
288
289
|
/**
|
|
@@ -303,7 +304,7 @@ var tileLayer = function (arg) {
|
|
|
303
304
|
* @name geo.tileLayer#activeTiles
|
|
304
305
|
*/
|
|
305
306
|
Object.defineProperty(this, 'activeTiles', {get: function () {
|
|
306
|
-
return
|
|
307
|
+
return Object.assign({}, m_this._activeTiles); // copy on output
|
|
307
308
|
}});
|
|
308
309
|
|
|
309
310
|
/**
|
package/src/trackFeature.js
CHANGED
|
@@ -66,7 +66,6 @@ var trackFeature = function (arg) {
|
|
|
66
66
|
return new trackFeature(arg);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
var $ = require('jquery');
|
|
70
69
|
var transform = require('./transform');
|
|
71
70
|
|
|
72
71
|
arg = arg || {};
|
|
@@ -480,7 +479,7 @@ var trackFeature = function (arg) {
|
|
|
480
479
|
m_styles[styleType] = {};
|
|
481
480
|
}
|
|
482
481
|
if (arg2 === undefined) {
|
|
483
|
-
m_styles[styleType] =
|
|
482
|
+
m_styles[styleType] = util.deepMerge(m_styles[styleType], arg1);
|
|
484
483
|
} else {
|
|
485
484
|
m_styles[styleType][arg1] = arg2;
|
|
486
485
|
}
|
|
@@ -810,8 +809,7 @@ var trackFeature = function (arg) {
|
|
|
810
809
|
arg = arg || {};
|
|
811
810
|
s_init.call(m_this, arg);
|
|
812
811
|
|
|
813
|
-
var style =
|
|
814
|
-
true,
|
|
812
|
+
var style = util.deepMerge(
|
|
815
813
|
{},
|
|
816
814
|
{
|
|
817
815
|
track: util.identityFunction,
|
|
@@ -822,8 +820,7 @@ var trackFeature = function (arg) {
|
|
|
822
820
|
},
|
|
823
821
|
arg.style === undefined ? {} : arg.style
|
|
824
822
|
);
|
|
825
|
-
var markerStyle =
|
|
826
|
-
true,
|
|
823
|
+
var markerStyle = util.deepMerge(
|
|
827
824
|
{},
|
|
828
825
|
{
|
|
829
826
|
rotateWithMap: true,
|
|
@@ -831,8 +828,7 @@ var trackFeature = function (arg) {
|
|
|
831
828
|
},
|
|
832
829
|
arg.markerStyle === undefined ? {} : arg.markerStyle
|
|
833
830
|
);
|
|
834
|
-
var textStyle =
|
|
835
|
-
true,
|
|
831
|
+
var textStyle = util.deepMerge(
|
|
836
832
|
{},
|
|
837
833
|
{
|
|
838
834
|
rotateWithMap: true,
|
|
@@ -840,24 +836,21 @@ var trackFeature = function (arg) {
|
|
|
840
836
|
},
|
|
841
837
|
arg.textStyle === undefined ? {} : arg.textStyle
|
|
842
838
|
);
|
|
843
|
-
var pastStyle =
|
|
844
|
-
true,
|
|
839
|
+
var pastStyle = util.deepMerge(
|
|
845
840
|
{},
|
|
846
841
|
{
|
|
847
842
|
strokeOpacity: 0.25
|
|
848
843
|
},
|
|
849
844
|
arg.pastStyle === undefined ? {} : arg.pastStyle
|
|
850
845
|
);
|
|
851
|
-
var currentStyle =
|
|
852
|
-
true,
|
|
846
|
+
var currentStyle = util.deepMerge(
|
|
853
847
|
{},
|
|
854
848
|
{
|
|
855
849
|
// defaults go here
|
|
856
850
|
},
|
|
857
851
|
arg.currentStyle === undefined ? {} : arg.currentStyle
|
|
858
852
|
);
|
|
859
|
-
var futureStyle =
|
|
860
|
-
true,
|
|
853
|
+
var futureStyle = util.deepMerge(
|
|
861
854
|
{},
|
|
862
855
|
{
|
|
863
856
|
strokeOpacity: 0.25
|
package/src/ui/scaleWidget.js
CHANGED
|
@@ -93,7 +93,7 @@ var scaleWidget = function (arg) {
|
|
|
93
93
|
|
|
94
94
|
var m_this = this,
|
|
95
95
|
s_exit = this._exit,
|
|
96
|
-
m_options =
|
|
96
|
+
m_options = Object.assign({}, {
|
|
97
97
|
scale: 1,
|
|
98
98
|
maxWidth: 200,
|
|
99
99
|
maxHeight: arg.orientation === 'left' || arg.orientation === 'right' ? 200 : 20,
|
|
@@ -299,7 +299,7 @@ var scaleWidget = function (arg) {
|
|
|
299
299
|
*/
|
|
300
300
|
this.options = function (arg1, arg2) {
|
|
301
301
|
if (arg1 === undefined) {
|
|
302
|
-
var result =
|
|
302
|
+
var result = Object.assign({}, m_options);
|
|
303
303
|
result.position = m_this.position(undefined, true);
|
|
304
304
|
return result;
|
|
305
305
|
}
|
|
@@ -307,7 +307,7 @@ var scaleWidget = function (arg) {
|
|
|
307
307
|
return arg1 === 'position' ? m_this.position(undefined, true) : m_options[arg1];
|
|
308
308
|
}
|
|
309
309
|
if (arg2 === undefined) {
|
|
310
|
-
m_options =
|
|
310
|
+
m_options = util.deepMerge(m_options, arg1);
|
|
311
311
|
} else {
|
|
312
312
|
m_options[arg1] = arg2;
|
|
313
313
|
}
|
package/src/ui/widget.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
var inherit = require('../inherit');
|
|
2
2
|
var sceneObject = require('../sceneObject');
|
|
3
|
-
var $ = require('jquery');
|
|
4
3
|
|
|
5
4
|
/**
|
|
6
5
|
* @typedef {object} geo.gui.widget.position
|
|
@@ -164,7 +163,7 @@ var widget = function (arg) {
|
|
|
164
163
|
if (m_position.hasOwnProperty('x') && m_position.hasOwnProperty('y')) {
|
|
165
164
|
m_this.layer().geoOn(geo_event.pan, m_this.repositionEvent);
|
|
166
165
|
}
|
|
167
|
-
m_this.reposition(
|
|
166
|
+
m_this.reposition(Object.assign(clearPosition, m_this.position()));
|
|
168
167
|
return m_this;
|
|
169
168
|
}
|
|
170
169
|
if (m_position.hasOwnProperty('x') && m_position.hasOwnProperty('y') && !actualValue) {
|
package/src/util/clustering.js
CHANGED
package/src/util/common.js
CHANGED
|
@@ -522,7 +522,7 @@ var util = {
|
|
|
522
522
|
* @example <caption>The returned objects can be modified or
|
|
523
523
|
* extended.</caption>
|
|
524
524
|
* var results = pixelCoordinateParams('#map', 10000, 9000);
|
|
525
|
-
* var map = geo.map(
|
|
525
|
+
* var map = geo.map(Object.assign(results.map, {clampZoom: false}));
|
|
526
526
|
* map.createLayer('osm', results.layer);
|
|
527
527
|
*
|
|
528
528
|
* @param {string?} node DOM selector for the map container.
|
|
@@ -991,6 +991,43 @@ var util = {
|
|
|
991
991
|
});
|
|
992
992
|
},
|
|
993
993
|
|
|
994
|
+
/**
|
|
995
|
+
* Recursively merge two objects. This is intended to replace
|
|
996
|
+
* util.deepMerge(target, ...sources).
|
|
997
|
+
*
|
|
998
|
+
* @param {object} target target object to modify.
|
|
999
|
+
* @param {object} sources object(s) to merge into the target.
|
|
1000
|
+
* @returns {object} The merged object.
|
|
1001
|
+
* @member geo.util
|
|
1002
|
+
*/
|
|
1003
|
+
deepMerge: function (target, ...sources) {
|
|
1004
|
+
for (const source of sources) {
|
|
1005
|
+
if (source === null || source === undefined) {
|
|
1006
|
+
continue;
|
|
1007
|
+
}
|
|
1008
|
+
for (const key in source) {
|
|
1009
|
+
if (key === '__proto__' || target === source[key]) {
|
|
1010
|
+
continue;
|
|
1011
|
+
}
|
|
1012
|
+
const copy = source[key];
|
|
1013
|
+
if (copy && typeof copy === 'object' && copy && (copy.constructor === undefined || copy.constructor === Object || Array.isArray(copy))) {
|
|
1014
|
+
let src = target[key];
|
|
1015
|
+
if (!Array.isArray(copy)) {
|
|
1016
|
+
if (typeof src !== 'object' || Array.isArray(src)) {
|
|
1017
|
+
src = {};
|
|
1018
|
+
}
|
|
1019
|
+
} else if (!Array.isArray(src)) {
|
|
1020
|
+
src = [];
|
|
1021
|
+
}
|
|
1022
|
+
target[key] = util.deepMerge(src, copy);
|
|
1023
|
+
} else if (copy !== undefined) {
|
|
1024
|
+
target[key] = copy;
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
return target;
|
|
1029
|
+
},
|
|
1030
|
+
|
|
994
1031
|
/**
|
|
995
1032
|
* Check svg image and html img tags. If the source is set, load images
|
|
996
1033
|
* explicitly and convert them to local data:image references.
|
package/src/util/mesh.js
CHANGED
|
@@ -35,7 +35,6 @@
|
|
|
35
35
|
* information.
|
|
36
36
|
*/
|
|
37
37
|
function createColoredMesh(feature, elementValues) {
|
|
38
|
-
var $ = require('jquery');
|
|
39
38
|
var util = require('../util');
|
|
40
39
|
|
|
41
40
|
var mesh = feature.mesh,
|
|
@@ -62,14 +61,14 @@ function createColoredMesh(feature, elementValues) {
|
|
|
62
61
|
result.stepped = stepped === undefined || stepped ? true : false;
|
|
63
62
|
/* Create the min/max colors and the color array */
|
|
64
63
|
result.colorMap = [];
|
|
65
|
-
result.minColor =
|
|
64
|
+
result.minColor = Object.assign(
|
|
66
65
|
{a: mesh.get('minOpacity')(result) || 0},
|
|
67
66
|
util.convertColor(mesh.get('minColor')(result)));
|
|
68
|
-
result.maxColor =
|
|
67
|
+
result.maxColor = Object.assign(
|
|
69
68
|
{a: mesh.get('maxOpacity')(result) || 0},
|
|
70
69
|
util.convertColor(mesh.get('maxColor')(result)));
|
|
71
70
|
mesh.get('colorRange')(result).forEach(function (clr, idx) {
|
|
72
|
-
result.colorMap.push(
|
|
71
|
+
result.colorMap.push(Object.assign({
|
|
73
72
|
a: opacityRange && opacityRange[idx] !== undefined ? opacityRange[idx] : 1
|
|
74
73
|
}, util.convertColor(clr)));
|
|
75
74
|
});
|
package/src/util/mockVGL.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/* eslint-disable camelcase */
|
|
2
2
|
|
|
3
|
-
var $ = require('jquery');
|
|
4
3
|
var webglRenderer = require('../webgl/webglRenderer');
|
|
5
4
|
|
|
6
5
|
var _renderWindow, _supported;
|
|
@@ -152,7 +151,7 @@ module.exports.mockWebglRenderer = function mockWebglRenderer(supported) {
|
|
|
152
151
|
wsize = m_this.windowSize(),
|
|
153
152
|
wpos = m_this.windowPosition();
|
|
154
153
|
|
|
155
|
-
m_context =
|
|
154
|
+
m_context = Object.assign({}, vgl.GL, default_context);
|
|
156
155
|
|
|
157
156
|
for (i = 0; i < renderers.length; i += 1) {
|
|
158
157
|
if ((renderers[i].width() > wsize[0]) ||
|
package/src/vectorFeature.js
CHANGED
|
@@ -52,8 +52,6 @@ var vectorFeature = function (arg) {
|
|
|
52
52
|
return new vectorFeature(arg);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
var $ = require('jquery');
|
|
56
|
-
|
|
57
55
|
arg = arg || {};
|
|
58
56
|
feature.call(this, arg);
|
|
59
57
|
|
|
@@ -112,7 +110,7 @@ var vectorFeature = function (arg) {
|
|
|
112
110
|
this._init = function (arg) {
|
|
113
111
|
s_init.call(m_this, arg);
|
|
114
112
|
|
|
115
|
-
var defaultStyle =
|
|
113
|
+
var defaultStyle = Object.assign(
|
|
116
114
|
{},
|
|
117
115
|
{
|
|
118
116
|
strokeColor: 'black',
|