@maptiler/geocoding-control 1.4.2-dev.3 → 2.0.0-rc.1
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/MapLibreBasedGeocodingControl.d.ts +2971 -35
- package/leaflet-controller.d.ts +1 -1
- package/leaflet-controller.js +580 -569
- package/leaflet-controller.js.map +1 -1
- package/leaflet-controller.umd.js +3 -3
- package/leaflet-controller.umd.js.map +1 -1
- package/leaflet.d.ts +74 -16
- package/leaflet.js +1375 -1344
- package/leaflet.js.map +1 -1
- package/leaflet.umd.js +3 -3
- package/leaflet.umd.js.map +1 -1
- package/maplibregl-controller.d.ts +7 -7
- package/maplibregl-controller.js +683 -661
- package/maplibregl-controller.js.map +1 -1
- package/maplibregl-controller.umd.js +3 -3
- package/maplibregl-controller.umd.js.map +1 -1
- package/maplibregl.js +1596 -1447
- package/maplibregl.js.map +1 -1
- package/maplibregl.umd.js +3 -3
- package/maplibregl.umd.js.map +1 -1
- package/maptilersdk.js +1604 -1452
- package/maptilersdk.js.map +1 -1
- package/maptilersdk.umd.js +3 -3
- package/maptilersdk.umd.js.map +1 -1
- package/openlayers-controller.d.ts +1 -1
- package/openlayers-controller.js +308 -306
- package/openlayers-controller.js.map +1 -1
- package/openlayers-controller.umd.js +3 -3
- package/openlayers-controller.umd.js.map +1 -1
- package/openlayers.d.ts +21 -0
- package/openlayers.js +1352 -1366
- package/openlayers.js.map +1 -1
- package/openlayers.umd.js +3 -3
- package/openlayers.umd.js.map +1 -1
- package/package.json +18 -18
- package/react.d.ts +4 -4
- package/react.js +805 -788
- package/react.js.map +1 -1
- package/react.umd.js +1 -1
- package/react.umd.js.map +1 -1
- package/style.css +1 -1
- package/svelte/FeatureItem.svelte.d.ts +1 -1
- package/svelte/GeocodingControl.svelte +61 -32
- package/svelte/GeocodingControl.svelte.d.ts +24 -9
- package/svelte/MapLibreBasedGeocodingControl.d.ts +2971 -35
- package/svelte/MapLibreBasedGeocodingControl.js +166 -58
- package/svelte/leaflet-controller.d.ts +1 -1
- package/svelte/leaflet-controller.js +50 -24
- package/svelte/leaflet.d.ts +74 -16
- package/svelte/leaflet.js +25 -15
- package/svelte/maplibregl-controller.d.ts +7 -7
- package/svelte/maplibregl-controller.js +96 -66
- package/svelte/maplibregl.js +10 -7
- package/svelte/maptilersdk.js +23 -18
- package/svelte/openlayers-controller.d.ts +1 -1
- package/svelte/openlayers-controller.js +4 -1
- package/svelte/openlayers.d.ts +21 -0
- package/svelte/openlayers.js +30 -45
- package/svelte/react.d.ts +4 -4
- package/svelte/types.d.ts +32 -12
- package/svelte/vanilla.d.ts +14 -1
- package/svelte/vanilla.js +31 -8
- package/types.d.ts +32 -12
- package/vanilla.d.ts +14 -1
- package/vanilla.js +849 -804
- package/vanilla.js.map +1 -1
- package/vanilla.umd.js +1 -1
- package/vanilla.umd.js.map +1 -1
- package/maplibregl.d.ts +0 -16
- package/maptilersdk.d.ts +0 -11
- package/svelte/maplibregl.d.ts +0 -16
- package/svelte/maptilersdk.d.ts +0 -11
package/openlayers-controller.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Feature as N } from "ol";
|
|
2
|
-
import {
|
|
2
|
+
import { Polygon as ut, MultiPolygon as ft, GeometryCollection as $t, LineString as ct, MultiLineString as ht, Point as Z } from "ol/geom";
|
|
3
3
|
import Tt from "ol/layer/Vector";
|
|
4
|
-
import {
|
|
4
|
+
import { toLonLat as at, getUserProjection as qt, fromLonLat as V, transformExtent as Qt } from "ol/proj";
|
|
5
5
|
import Ut from "ol/source/Vector";
|
|
6
6
|
import gt from "ol/style/Fill";
|
|
7
7
|
import Yt from "ol/style/Icon";
|
|
@@ -41,77 +41,77 @@ function At(o, t, e = {}) {
|
|
|
41
41
|
}
|
|
42
42
|
function Ot(o, t, e) {
|
|
43
43
|
if (o !== null)
|
|
44
|
-
for (var n, r, i, u, l,
|
|
45
|
-
|
|
44
|
+
for (var n, r, i, u, l, f, c, g = 0, s = 0, h, a = o.type, d = a === "FeatureCollection", p = a === "Feature", y = d ? o.features.length : 1, x = 0; x < y; x++) {
|
|
45
|
+
c = d ? o.features[x].geometry : p ? o.geometry : o, h = c ? c.type === "GeometryCollection" : !1, l = h ? c.geometries.length : 1;
|
|
46
46
|
for (var m = 0; m < l; m++) {
|
|
47
|
-
var
|
|
48
|
-
if (u = h ?
|
|
49
|
-
|
|
47
|
+
var w = 0, v = 0;
|
|
48
|
+
if (u = h ? c.geometries[m] : c, u !== null) {
|
|
49
|
+
f = u.coordinates;
|
|
50
50
|
var E = u.type;
|
|
51
|
-
switch (
|
|
51
|
+
switch (g = 0, E) {
|
|
52
52
|
case null:
|
|
53
53
|
break;
|
|
54
54
|
case "Point":
|
|
55
55
|
if (t(
|
|
56
|
-
|
|
56
|
+
f,
|
|
57
57
|
s,
|
|
58
58
|
x,
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
w,
|
|
60
|
+
v
|
|
61
61
|
) === !1)
|
|
62
62
|
return !1;
|
|
63
|
-
s++,
|
|
63
|
+
s++, w++;
|
|
64
64
|
break;
|
|
65
65
|
case "LineString":
|
|
66
66
|
case "MultiPoint":
|
|
67
|
-
for (n = 0; n <
|
|
67
|
+
for (n = 0; n < f.length; n++) {
|
|
68
68
|
if (t(
|
|
69
|
-
|
|
69
|
+
f[n],
|
|
70
70
|
s,
|
|
71
71
|
x,
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
w,
|
|
73
|
+
v
|
|
74
74
|
) === !1)
|
|
75
75
|
return !1;
|
|
76
|
-
s++, E === "MultiPoint" &&
|
|
76
|
+
s++, E === "MultiPoint" && w++;
|
|
77
77
|
}
|
|
78
|
-
E === "LineString" &&
|
|
78
|
+
E === "LineString" && w++;
|
|
79
79
|
break;
|
|
80
80
|
case "Polygon":
|
|
81
81
|
case "MultiLineString":
|
|
82
|
-
for (n = 0; n <
|
|
83
|
-
for (r = 0; r <
|
|
82
|
+
for (n = 0; n < f.length; n++) {
|
|
83
|
+
for (r = 0; r < f[n].length - g; r++) {
|
|
84
84
|
if (t(
|
|
85
|
-
|
|
85
|
+
f[n][r],
|
|
86
86
|
s,
|
|
87
87
|
x,
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
w,
|
|
89
|
+
v
|
|
90
90
|
) === !1)
|
|
91
91
|
return !1;
|
|
92
92
|
s++;
|
|
93
93
|
}
|
|
94
|
-
E === "MultiLineString" &&
|
|
94
|
+
E === "MultiLineString" && w++, E === "Polygon" && v++;
|
|
95
95
|
}
|
|
96
|
-
E === "Polygon" &&
|
|
96
|
+
E === "Polygon" && w++;
|
|
97
97
|
break;
|
|
98
98
|
case "MultiPolygon":
|
|
99
|
-
for (n = 0; n <
|
|
100
|
-
for (
|
|
101
|
-
for (i = 0; i <
|
|
99
|
+
for (n = 0; n < f.length; n++) {
|
|
100
|
+
for (v = 0, r = 0; r < f[n].length; r++) {
|
|
101
|
+
for (i = 0; i < f[n][r].length - g; i++) {
|
|
102
102
|
if (t(
|
|
103
|
-
|
|
103
|
+
f[n][r][i],
|
|
104
104
|
s,
|
|
105
105
|
x,
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
w,
|
|
107
|
+
v
|
|
108
108
|
) === !1)
|
|
109
109
|
return !1;
|
|
110
110
|
s++;
|
|
111
111
|
}
|
|
112
|
-
|
|
112
|
+
v++;
|
|
113
113
|
}
|
|
114
|
-
|
|
114
|
+
w++;
|
|
115
115
|
}
|
|
116
116
|
break;
|
|
117
117
|
case "GeometryCollection":
|
|
@@ -127,15 +127,15 @@ function Ot(o, t, e) {
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
function st(o, t) {
|
|
130
|
-
var e, n, r, i, u, l,
|
|
130
|
+
var e, n, r, i, u, l, f, c, g, s, h = 0, a = o.type === "FeatureCollection", d = o.type === "Feature", p = a ? o.features.length : 1;
|
|
131
131
|
for (e = 0; e < p; e++) {
|
|
132
|
-
for (l =
|
|
133
|
-
if (i =
|
|
132
|
+
for (l = a ? o.features[e].geometry : d ? o.geometry : o, c = a ? o.features[e].properties : d ? o.properties : {}, g = a ? o.features[e].bbox : d ? o.bbox : void 0, s = a ? o.features[e].id : d ? o.id : void 0, f = l ? l.type === "GeometryCollection" : !1, u = f ? l.geometries.length : 1, r = 0; r < u; r++) {
|
|
133
|
+
if (i = f ? l.geometries[r] : l, i === null) {
|
|
134
134
|
if (t(
|
|
135
135
|
null,
|
|
136
136
|
h,
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
c,
|
|
138
|
+
g,
|
|
139
139
|
s
|
|
140
140
|
) === !1)
|
|
141
141
|
return !1;
|
|
@@ -151,8 +151,8 @@ function st(o, t) {
|
|
|
151
151
|
if (t(
|
|
152
152
|
i,
|
|
153
153
|
h,
|
|
154
|
-
|
|
155
|
-
|
|
154
|
+
c,
|
|
155
|
+
g,
|
|
156
156
|
s
|
|
157
157
|
) === !1)
|
|
158
158
|
return !1;
|
|
@@ -163,8 +163,8 @@ function st(o, t) {
|
|
|
163
163
|
if (t(
|
|
164
164
|
i.geometries[n],
|
|
165
165
|
h,
|
|
166
|
-
|
|
167
|
-
|
|
166
|
+
c,
|
|
167
|
+
g,
|
|
168
168
|
s
|
|
169
169
|
) === !1)
|
|
170
170
|
return !1;
|
|
@@ -191,24 +191,24 @@ function Dt(o, t) {
|
|
|
191
191
|
0
|
|
192
192
|
) === !1 ? !1 : void 0;
|
|
193
193
|
}
|
|
194
|
-
var
|
|
194
|
+
var f;
|
|
195
195
|
switch (l) {
|
|
196
196
|
case "MultiPoint":
|
|
197
|
-
|
|
197
|
+
f = "Point";
|
|
198
198
|
break;
|
|
199
199
|
case "MultiLineString":
|
|
200
|
-
|
|
200
|
+
f = "LineString";
|
|
201
201
|
break;
|
|
202
202
|
case "MultiPolygon":
|
|
203
|
-
|
|
203
|
+
f = "Polygon";
|
|
204
204
|
break;
|
|
205
205
|
}
|
|
206
|
-
for (var
|
|
207
|
-
var
|
|
208
|
-
type:
|
|
209
|
-
coordinates:
|
|
206
|
+
for (var c = 0; c < e.coordinates.length; c++) {
|
|
207
|
+
var g = e.coordinates[c], s = {
|
|
208
|
+
type: f,
|
|
209
|
+
coordinates: g
|
|
210
210
|
};
|
|
211
|
-
if (t(D(s, r), n,
|
|
211
|
+
if (t(D(s, r), n, c) === !1)
|
|
212
212
|
return !1;
|
|
213
213
|
}
|
|
214
214
|
});
|
|
@@ -252,56 +252,56 @@ function Wt(o, t) {
|
|
|
252
252
|
return u = { next: l(0), throw: l(1), return: l(2) }, typeof Symbol == "function" && (u[Symbol.iterator] = function() {
|
|
253
253
|
return this;
|
|
254
254
|
}), u;
|
|
255
|
-
function l(
|
|
256
|
-
return function(
|
|
257
|
-
return
|
|
255
|
+
function l(c) {
|
|
256
|
+
return function(g) {
|
|
257
|
+
return f([c, g]);
|
|
258
258
|
};
|
|
259
259
|
}
|
|
260
|
-
function c
|
|
260
|
+
function f(c) {
|
|
261
261
|
if (n) throw new TypeError("Generator is already executing.");
|
|
262
262
|
for (; e; ) try {
|
|
263
|
-
if (n = 1, r && (i =
|
|
264
|
-
switch (r = 0, i && (
|
|
263
|
+
if (n = 1, r && (i = c[0] & 2 ? r.return : c[0] ? r.throw || ((i = r.return) && i.call(r), 0) : r.next) && !(i = i.call(r, c[1])).done) return i;
|
|
264
|
+
switch (r = 0, i && (c = [c[0] & 2, i.value]), c[0]) {
|
|
265
265
|
case 0:
|
|
266
266
|
case 1:
|
|
267
|
-
i =
|
|
267
|
+
i = c;
|
|
268
268
|
break;
|
|
269
269
|
case 4:
|
|
270
|
-
return e.label++, { value:
|
|
270
|
+
return e.label++, { value: c[1], done: !1 };
|
|
271
271
|
case 5:
|
|
272
|
-
e.label++, r =
|
|
272
|
+
e.label++, r = c[1], c = [0];
|
|
273
273
|
continue;
|
|
274
274
|
case 7:
|
|
275
|
-
|
|
275
|
+
c = e.ops.pop(), e.trys.pop();
|
|
276
276
|
continue;
|
|
277
277
|
default:
|
|
278
|
-
if (i = e.trys, !(i = i.length > 0 && i[i.length - 1]) && (
|
|
278
|
+
if (i = e.trys, !(i = i.length > 0 && i[i.length - 1]) && (c[0] === 6 || c[0] === 2)) {
|
|
279
279
|
e = 0;
|
|
280
280
|
continue;
|
|
281
281
|
}
|
|
282
|
-
if (
|
|
283
|
-
e.label =
|
|
282
|
+
if (c[0] === 3 && (!i || c[1] > i[0] && c[1] < i[3])) {
|
|
283
|
+
e.label = c[1];
|
|
284
284
|
break;
|
|
285
285
|
}
|
|
286
|
-
if (
|
|
287
|
-
e.label = i[1], i =
|
|
286
|
+
if (c[0] === 6 && e.label < i[1]) {
|
|
287
|
+
e.label = i[1], i = c;
|
|
288
288
|
break;
|
|
289
289
|
}
|
|
290
290
|
if (i && e.label < i[2]) {
|
|
291
|
-
e.label = i[2], e.ops.push(
|
|
291
|
+
e.label = i[2], e.ops.push(c);
|
|
292
292
|
break;
|
|
293
293
|
}
|
|
294
294
|
i[2] && e.ops.pop(), e.trys.pop();
|
|
295
295
|
continue;
|
|
296
296
|
}
|
|
297
|
-
|
|
298
|
-
} catch (
|
|
299
|
-
|
|
297
|
+
c = t.call(o, e);
|
|
298
|
+
} catch (g) {
|
|
299
|
+
c = [6, g], r = 0;
|
|
300
300
|
} finally {
|
|
301
301
|
n = i = 0;
|
|
302
302
|
}
|
|
303
|
-
if (
|
|
304
|
-
return { value:
|
|
303
|
+
if (c[0] & 5) throw c[1];
|
|
304
|
+
return { value: c[0] ? c[1] : void 0, done: !0 };
|
|
305
305
|
}
|
|
306
306
|
}
|
|
307
307
|
var $ = (
|
|
@@ -423,11 +423,11 @@ var lt = (
|
|
|
423
423
|
n !== null ? (r.push(n), n = n.left) : r.length !== 0 ? (n = r.pop(), t.call(e, n), n = n.right) : i = !0;
|
|
424
424
|
return this;
|
|
425
425
|
}, o.prototype.range = function(t, e, n, r) {
|
|
426
|
-
for (var i = [], u = this._comparator, l = this._root,
|
|
426
|
+
for (var i = [], u = this._comparator, l = this._root, f; i.length !== 0 || l; )
|
|
427
427
|
if (l)
|
|
428
428
|
i.push(l), l = l.left;
|
|
429
429
|
else {
|
|
430
|
-
if (l = i.pop(),
|
|
430
|
+
if (l = i.pop(), f = u(l.key, e), f > 0)
|
|
431
431
|
break;
|
|
432
432
|
if (u(l.key, t) >= 0 && n.call(r, l))
|
|
433
433
|
return this;
|
|
@@ -569,8 +569,8 @@ var lt = (
|
|
|
569
569
|
function et(o, t, e, n) {
|
|
570
570
|
var r = n - e;
|
|
571
571
|
if (r > 0) {
|
|
572
|
-
var i = e + Math.floor(r / 2), u = o[i], l = t[i],
|
|
573
|
-
return
|
|
572
|
+
var i = e + Math.floor(r / 2), u = o[i], l = t[i], f = new $(u, l);
|
|
573
|
+
return f.left = et(o, t, e, i), f.right = et(o, t, i + 1, n), f;
|
|
574
574
|
}
|
|
575
575
|
return null;
|
|
576
576
|
}
|
|
@@ -608,25 +608,25 @@ function rt(o, t, e, n, r) {
|
|
|
608
608
|
while (r(o[l], i) > 0);
|
|
609
609
|
if (u >= l)
|
|
610
610
|
break;
|
|
611
|
-
var
|
|
612
|
-
o[u] = o[l], o[l] =
|
|
611
|
+
var f = o[u];
|
|
612
|
+
o[u] = o[l], o[l] = f, f = t[u], t[u] = t[l], t[l] = f;
|
|
613
613
|
}
|
|
614
614
|
rt(o, t, e, l, r), rt(o, t, l + 1, n, r);
|
|
615
615
|
}
|
|
616
616
|
}
|
|
617
617
|
const F = 11102230246251565e-32, _ = 134217729, ee = (3 + 8 * F) * F;
|
|
618
618
|
function K(o, t, e, n, r) {
|
|
619
|
-
let i, u, l,
|
|
620
|
-
|
|
621
|
-
let
|
|
619
|
+
let i, u, l, f, c = t[0], g = n[0], s = 0, h = 0;
|
|
620
|
+
g > c == g > -c ? (i = c, c = t[++s]) : (i = g, g = n[++h]);
|
|
621
|
+
let a = 0;
|
|
622
622
|
if (s < o && h < e)
|
|
623
|
-
for (
|
|
624
|
-
|
|
623
|
+
for (g > c == g > -c ? (u = c + i, l = i - (u - c), c = t[++s]) : (u = g + i, l = i - (u - g), g = n[++h]), i = u, l !== 0 && (r[a++] = l); s < o && h < e; )
|
|
624
|
+
g > c == g > -c ? (u = i + c, f = u - i, l = i - (u - f) + (c - f), c = t[++s]) : (u = i + g, f = u - i, l = i - (u - f) + (g - f), g = n[++h]), i = u, l !== 0 && (r[a++] = l);
|
|
625
625
|
for (; s < o; )
|
|
626
|
-
u = i +
|
|
626
|
+
u = i + c, f = u - i, l = i - (u - f) + (c - f), c = t[++s], i = u, l !== 0 && (r[a++] = l);
|
|
627
627
|
for (; h < e; )
|
|
628
|
-
u = i +
|
|
629
|
-
return (i !== 0 ||
|
|
628
|
+
u = i + g, f = u - i, l = i - (u - f) + (g - f), g = n[++h], i = u, l !== 0 && (r[a++] = l);
|
|
629
|
+
return (i !== 0 || a === 0) && (r[a++] = i), a;
|
|
630
630
|
}
|
|
631
631
|
function ne(o, t) {
|
|
632
632
|
let e = t[0];
|
|
@@ -638,22 +638,22 @@ function Y(o) {
|
|
|
638
638
|
}
|
|
639
639
|
const re = (3 + 16 * F) * F, ie = (2 + 12 * F) * F, oe = (9 + 64 * F) * F * F, T = Y(4), dt = Y(8), vt = Y(12), mt = Y(16), P = Y(4);
|
|
640
640
|
function se(o, t, e, n, r, i, u) {
|
|
641
|
-
let l,
|
|
641
|
+
let l, f, c, g, s, h, a, d, p, y, x, m, w, v, E, b, M, S;
|
|
642
642
|
const L = o - r, I = e - r, k = t - i, C = n - i;
|
|
643
|
-
|
|
643
|
+
v = L * C, h = _ * L, a = h - (h - L), d = L - a, h = _ * C, p = h - (h - C), y = C - p, E = d * y - (v - a * p - d * p - a * y), b = k * I, h = _ * k, a = h - (h - k), d = k - a, h = _ * I, p = h - (h - I), y = I - p, M = d * y - (b - a * p - d * p - a * y), x = E - M, s = E - x, T[0] = E - (x + s) + (s - M), m = v + x, s = m - v, w = v - (m - s) + (x - s), x = w - b, s = w - x, T[1] = w - (x + s) + (s - b), S = m + x, s = S - m, T[2] = m - (S - s) + (x - s), T[3] = S;
|
|
644
644
|
let O = ne(4, T), q = ie * u;
|
|
645
|
-
if (O >= q || -O >= q || (s = o - L, l = o - (L + s) + (s - r), s = e - I,
|
|
646
|
-
|
|
645
|
+
if (O >= q || -O >= q || (s = o - L, l = o - (L + s) + (s - r), s = e - I, c = e - (I + s) + (s - r), s = t - k, f = t - (k + s) + (s - i), s = n - C, g = n - (C + s) + (s - i), l === 0 && f === 0 && c === 0 && g === 0) || (q = oe * u + ee * Math.abs(O), O += L * g + C * l - (k * c + I * f), O >= q || -O >= q)) return O;
|
|
646
|
+
v = l * C, h = _ * l, a = h - (h - l), d = l - a, h = _ * C, p = h - (h - C), y = C - p, E = d * y - (v - a * p - d * p - a * y), b = f * I, h = _ * f, a = h - (h - f), d = f - a, h = _ * I, p = h - (h - I), y = I - p, M = d * y - (b - a * p - d * p - a * y), x = E - M, s = E - x, P[0] = E - (x + s) + (s - M), m = v + x, s = m - v, w = v - (m - s) + (x - s), x = w - b, s = w - x, P[1] = w - (x + s) + (s - b), S = m + x, s = S - m, P[2] = m - (S - s) + (x - s), P[3] = S;
|
|
647
647
|
const Gt = K(4, T, 4, P, dt);
|
|
648
|
-
|
|
648
|
+
v = L * g, h = _ * L, a = h - (h - L), d = L - a, h = _ * g, p = h - (h - g), y = g - p, E = d * y - (v - a * p - d * p - a * y), b = k * c, h = _ * k, a = h - (h - k), d = k - a, h = _ * c, p = h - (h - c), y = c - p, M = d * y - (b - a * p - d * p - a * y), x = E - M, s = E - x, P[0] = E - (x + s) + (s - M), m = v + x, s = m - v, w = v - (m - s) + (x - s), x = w - b, s = w - x, P[1] = w - (x + s) + (s - b), S = m + x, s = S - m, P[2] = m - (S - s) + (x - s), P[3] = S;
|
|
649
649
|
const Bt = K(Gt, dt, 4, P, vt);
|
|
650
|
-
|
|
650
|
+
v = l * g, h = _ * l, a = h - (h - l), d = l - a, h = _ * g, p = h - (h - g), y = g - p, E = d * y - (v - a * p - d * p - a * y), b = f * c, h = _ * f, a = h - (h - f), d = f - a, h = _ * c, p = h - (h - c), y = c - p, M = d * y - (b - a * p - d * p - a * y), x = E - M, s = E - x, P[0] = E - (x + s) + (s - M), m = v + x, s = m - v, w = v - (m - s) + (x - s), x = w - b, s = w - x, P[1] = w - (x + s) + (s - b), S = m + x, s = S - m, P[2] = m - (S - s) + (x - s), P[3] = S;
|
|
651
651
|
const zt = K(Bt, vt, 4, P, mt);
|
|
652
652
|
return mt[zt - 1];
|
|
653
653
|
}
|
|
654
654
|
function le(o, t, e, n, r, i) {
|
|
655
|
-
const u = (t - i) * (e - r), l = (o - r) * (n - i),
|
|
656
|
-
return Math.abs(
|
|
655
|
+
const u = (t - i) * (e - r), l = (o - r) * (n - i), f = u - l, c = Math.abs(u + l);
|
|
656
|
+
return Math.abs(f) >= re * c ? f : -se(o, t, e, n, r, i, c);
|
|
657
657
|
}
|
|
658
658
|
const Q = (o, t) => o.ll.x <= t.x && t.x <= o.ur.x && o.ll.y <= t.y && t.y <= o.ur.y, it = (o, t) => {
|
|
659
659
|
if (t.ur.x < o.ll.x || o.ur.x < t.ll.x || t.ur.y < o.ll.y || o.ur.y < t.ll.y) return null;
|
|
@@ -747,10 +747,10 @@ const U = new fe(), j = (o, t) => o.x * t.y - o.y * t.x, Nt = (o, t) => o.x * t.
|
|
|
747
747
|
const i = {
|
|
748
748
|
x: e.x - o.x,
|
|
749
749
|
y: e.y - o.y
|
|
750
|
-
}, u = j(i, t) / r, l = j(i, n) / r,
|
|
750
|
+
}, u = j(i, t) / r, l = j(i, n) / r, f = o.x + l * t.x, c = e.x + u * n.x, g = o.y + l * t.y, s = e.y + u * n.y, h = (f + c) / 2, a = (g + s) / 2;
|
|
751
751
|
return {
|
|
752
752
|
x: h,
|
|
753
|
-
y:
|
|
753
|
+
y: a
|
|
754
754
|
};
|
|
755
755
|
};
|
|
756
756
|
class R {
|
|
@@ -822,10 +822,10 @@ class R {
|
|
|
822
822
|
sine: u,
|
|
823
823
|
cosine: l
|
|
824
824
|
} = e.get(r), {
|
|
825
|
-
sine:
|
|
826
|
-
cosine:
|
|
825
|
+
sine: f,
|
|
826
|
+
cosine: c
|
|
827
827
|
} = e.get(i);
|
|
828
|
-
return u >= 0 &&
|
|
828
|
+
return u >= 0 && f >= 0 ? l < c ? 1 : l > c ? -1 : 0 : u < 0 && f < 0 ? l < c ? -1 : l > c ? 1 : 0 : f < u ? -1 : f > u ? 1 : 0;
|
|
829
829
|
};
|
|
830
830
|
}
|
|
831
831
|
}
|
|
@@ -848,10 +848,10 @@ class z {
|
|
|
848
848
|
const n = t.leftSE.point.x, r = e.leftSE.point.x, i = t.rightSE.point.x, u = e.rightSE.point.x;
|
|
849
849
|
if (u < n) return 1;
|
|
850
850
|
if (i < r) return -1;
|
|
851
|
-
const l = t.leftSE.point.y,
|
|
851
|
+
const l = t.leftSE.point.y, f = e.leftSE.point.y, c = t.rightSE.point.y, g = e.rightSE.point.y;
|
|
852
852
|
if (n < r) {
|
|
853
|
-
if (
|
|
854
|
-
if (
|
|
853
|
+
if (f < l && f < c) return 1;
|
|
854
|
+
if (f > l && f > c) return -1;
|
|
855
855
|
const s = t.comparePoint(e.leftSE.point);
|
|
856
856
|
if (s < 0) return 1;
|
|
857
857
|
if (s > 0) return -1;
|
|
@@ -859,15 +859,15 @@ class z {
|
|
|
859
859
|
return h !== 0 ? h : -1;
|
|
860
860
|
}
|
|
861
861
|
if (n > r) {
|
|
862
|
-
if (l <
|
|
863
|
-
if (l >
|
|
862
|
+
if (l < f && l < g) return -1;
|
|
863
|
+
if (l > f && l > g) return 1;
|
|
864
864
|
const s = e.comparePoint(t.leftSE.point);
|
|
865
865
|
if (s !== 0) return s;
|
|
866
866
|
const h = t.comparePoint(e.rightSE.point);
|
|
867
867
|
return h < 0 ? 1 : h > 0 ? -1 : 1;
|
|
868
868
|
}
|
|
869
|
-
if (l <
|
|
870
|
-
if (l >
|
|
869
|
+
if (l < f) return -1;
|
|
870
|
+
if (l > f) return 1;
|
|
871
871
|
if (i < u) {
|
|
872
872
|
const s = e.comparePoint(t.rightSE.point);
|
|
873
873
|
if (s !== 0) return s;
|
|
@@ -878,11 +878,11 @@ class z {
|
|
|
878
878
|
if (s > 0) return -1;
|
|
879
879
|
}
|
|
880
880
|
if (i !== u) {
|
|
881
|
-
const s =
|
|
882
|
-
if (s > h &&
|
|
883
|
-
if (s < h &&
|
|
881
|
+
const s = c - l, h = i - n, a = g - f, d = u - r;
|
|
882
|
+
if (s > h && a < d) return 1;
|
|
883
|
+
if (s < h && a > d) return -1;
|
|
884
884
|
}
|
|
885
|
-
return i > u ? 1 : i < u ||
|
|
885
|
+
return i > u ? 1 : i < u || c < g ? -1 : c > g ? 1 : t.id < e.id ? -1 : t.id > e.id ? 1 : 0;
|
|
886
886
|
}
|
|
887
887
|
/* Warning: a reference to ringWindings input will be stored,
|
|
888
888
|
* and possibly will be later modified */
|
|
@@ -897,8 +897,8 @@ class z {
|
|
|
897
897
|
else if (l > 0)
|
|
898
898
|
r = e, i = t, u = -1;
|
|
899
899
|
else throw new Error(`Tried to create degenerate segment at [${t.x}, ${t.y}]`);
|
|
900
|
-
const
|
|
901
|
-
return new z(
|
|
900
|
+
const f = new R(r, !0), c = new R(i, !1);
|
|
901
|
+
return new z(f, c, [n], [u]);
|
|
902
902
|
}
|
|
903
903
|
/* When a segment is split, the rightSE is replaced with a new sweep event */
|
|
904
904
|
replaceRightSE(t) {
|
|
@@ -947,8 +947,8 @@ class z {
|
|
|
947
947
|
return t.x === e.x ? 0 : t.x < e.x ? 1 : -1;
|
|
948
948
|
const i = (t.y - e.y) / r.y, u = e.x + i * r.x;
|
|
949
949
|
if (t.x === u) return 0;
|
|
950
|
-
const l = (t.x - e.x) / r.x,
|
|
951
|
-
return t.y ===
|
|
950
|
+
const l = (t.x - e.x) / r.x, f = e.y + l * r.y;
|
|
951
|
+
return t.y === f ? 0 : t.y < f ? -1 : 1;
|
|
952
952
|
}
|
|
953
953
|
/**
|
|
954
954
|
* Given another segment, returns the first non-trivial intersection
|
|
@@ -968,18 +968,18 @@ class z {
|
|
|
968
968
|
getIntersection(t) {
|
|
969
969
|
const e = this.bbox(), n = t.bbox(), r = it(e, n);
|
|
970
970
|
if (r === null) return null;
|
|
971
|
-
const i = this.leftSE.point, u = this.rightSE.point, l = t.leftSE.point,
|
|
972
|
-
if (
|
|
973
|
-
return h && !s ? u : !h && s ?
|
|
974
|
-
if (
|
|
975
|
-
return s && i.x ===
|
|
976
|
-
if (
|
|
971
|
+
const i = this.leftSE.point, u = this.rightSE.point, l = t.leftSE.point, f = t.rightSE.point, c = Q(e, l) && this.comparePoint(l) === 0, g = Q(n, i) && t.comparePoint(i) === 0, s = Q(e, f) && this.comparePoint(f) === 0, h = Q(n, u) && t.comparePoint(u) === 0;
|
|
972
|
+
if (g && c)
|
|
973
|
+
return h && !s ? u : !h && s ? f : null;
|
|
974
|
+
if (g)
|
|
975
|
+
return s && i.x === f.x && i.y === f.y ? null : i;
|
|
976
|
+
if (c)
|
|
977
977
|
return h && u.x === l.x && u.y === l.y ? null : l;
|
|
978
978
|
if (h && s) return null;
|
|
979
979
|
if (h) return u;
|
|
980
|
-
if (s) return
|
|
981
|
-
const
|
|
982
|
-
return
|
|
980
|
+
if (s) return f;
|
|
981
|
+
const a = ae(i, this.vector(), l, t.vector());
|
|
982
|
+
return a === null || !Q(r, a) ? null : U.round(a.x, a.y);
|
|
983
983
|
}
|
|
984
984
|
/**
|
|
985
985
|
* Split the given segment into multiple segments on the given points.
|
|
@@ -1023,8 +1023,8 @@ class z {
|
|
|
1023
1023
|
e = n, n = i;
|
|
1024
1024
|
}
|
|
1025
1025
|
for (let i = 0, u = n.rings.length; i < u; i++) {
|
|
1026
|
-
const l = n.rings[i],
|
|
1027
|
-
|
|
1026
|
+
const l = n.rings[i], f = n.windings[i], c = e.rings.indexOf(l);
|
|
1027
|
+
c === -1 ? (e.rings.push(l), e.windings.push(f)) : e.windings[c] += f;
|
|
1028
1028
|
}
|
|
1029
1029
|
n.rings = null, n.windings = null, n.consumedBy = e, n.leftSE.consumedBy = e.leftSE, n.rightSE.consumedBy = e.rightSE;
|
|
1030
1030
|
}
|
|
@@ -1055,25 +1055,25 @@ class z {
|
|
|
1055
1055
|
multiPolys: []
|
|
1056
1056
|
};
|
|
1057
1057
|
const e = this._afterState.rings, n = this._afterState.windings, r = this._afterState.multiPolys;
|
|
1058
|
-
for (let l = 0,
|
|
1059
|
-
const
|
|
1060
|
-
s === -1 ? (e.push(
|
|
1058
|
+
for (let l = 0, f = this.rings.length; l < f; l++) {
|
|
1059
|
+
const c = this.rings[l], g = this.windings[l], s = e.indexOf(c);
|
|
1060
|
+
s === -1 ? (e.push(c), n.push(g)) : n[s] += g;
|
|
1061
1061
|
}
|
|
1062
1062
|
const i = [], u = [];
|
|
1063
|
-
for (let l = 0,
|
|
1063
|
+
for (let l = 0, f = e.length; l < f; l++) {
|
|
1064
1064
|
if (n[l] === 0) continue;
|
|
1065
|
-
const
|
|
1066
|
-
if (u.indexOf(
|
|
1067
|
-
if (
|
|
1065
|
+
const c = e[l], g = c.poly;
|
|
1066
|
+
if (u.indexOf(g) === -1)
|
|
1067
|
+
if (c.isExterior) i.push(g);
|
|
1068
1068
|
else {
|
|
1069
|
-
u.indexOf(
|
|
1070
|
-
const s = i.indexOf(
|
|
1069
|
+
u.indexOf(g) === -1 && u.push(g);
|
|
1070
|
+
const s = i.indexOf(c.poly);
|
|
1071
1071
|
s !== -1 && i.splice(s, 1);
|
|
1072
1072
|
}
|
|
1073
1073
|
}
|
|
1074
|
-
for (let l = 0,
|
|
1075
|
-
const
|
|
1076
|
-
r.indexOf(
|
|
1074
|
+
for (let l = 0, f = i.length; l < f; l++) {
|
|
1075
|
+
const c = i[l].multiPoly;
|
|
1076
|
+
r.indexOf(c) === -1 && r.push(c);
|
|
1077
1077
|
}
|
|
1078
1078
|
return this._afterState;
|
|
1079
1079
|
}
|
|
@@ -1130,8 +1130,8 @@ class Pt {
|
|
|
1130
1130
|
for (let u = 1, l = t.length; u < l; u++) {
|
|
1131
1131
|
if (typeof t[u][0] != "number" || typeof t[u][1] != "number")
|
|
1132
1132
|
throw new Error("Input geometry is not a valid Polygon or MultiPolygon");
|
|
1133
|
-
let
|
|
1134
|
-
|
|
1133
|
+
let f = U.round(t[u][0], t[u][1]);
|
|
1134
|
+
f.x === i.x && f.y === i.y || (this.segments.push(z.fromRing(i, f, this)), f.x < this.bbox.ll.x && (this.bbox.ll.x = f.x), f.y < this.bbox.ll.y && (this.bbox.ll.y = f.y), f.x > this.bbox.ur.x && (this.bbox.ur.x = f.x), f.y > this.bbox.ur.y && (this.bbox.ur.y = f.y), i = f);
|
|
1135
1135
|
}
|
|
1136
1136
|
(r.x !== i.x || r.y !== i.y) && this.segments.push(z.fromRing(i, r, this));
|
|
1137
1137
|
}
|
|
@@ -1216,39 +1216,39 @@ class W {
|
|
|
1216
1216
|
for (let n = 0, r = t.length; n < r; n++) {
|
|
1217
1217
|
const i = t[n];
|
|
1218
1218
|
if (!i.isInResult() || i.ringOut) continue;
|
|
1219
|
-
let u = null, l = i.leftSE,
|
|
1220
|
-
const
|
|
1221
|
-
for (; u = l, l =
|
|
1219
|
+
let u = null, l = i.leftSE, f = i.rightSE;
|
|
1220
|
+
const c = [l], g = l.point, s = [];
|
|
1221
|
+
for (; u = l, l = f, c.push(l), l.point !== g; )
|
|
1222
1222
|
for (; ; ) {
|
|
1223
1223
|
const h = l.getAvailableLinkedEvents();
|
|
1224
1224
|
if (h.length === 0) {
|
|
1225
|
-
const p =
|
|
1226
|
-
throw new Error(`Unable to complete output ring starting at [${p.x}, ${p.y}]. Last matching segment found ends at [${
|
|
1225
|
+
const p = c[0].point, y = c[c.length - 1].point;
|
|
1226
|
+
throw new Error(`Unable to complete output ring starting at [${p.x}, ${p.y}]. Last matching segment found ends at [${y.x}, ${y.y}].`);
|
|
1227
1227
|
}
|
|
1228
1228
|
if (h.length === 1) {
|
|
1229
|
-
|
|
1229
|
+
f = h[0].otherSE;
|
|
1230
1230
|
break;
|
|
1231
1231
|
}
|
|
1232
|
-
let
|
|
1233
|
-
for (let p = 0,
|
|
1232
|
+
let a = null;
|
|
1233
|
+
for (let p = 0, y = s.length; p < y; p++)
|
|
1234
1234
|
if (s[p].point === l.point) {
|
|
1235
|
-
|
|
1235
|
+
a = p;
|
|
1236
1236
|
break;
|
|
1237
1237
|
}
|
|
1238
|
-
if (
|
|
1239
|
-
const p = s.splice(
|
|
1240
|
-
|
|
1238
|
+
if (a !== null) {
|
|
1239
|
+
const p = s.splice(a)[0], y = c.splice(p.index);
|
|
1240
|
+
y.unshift(y[0].otherSE), e.push(new W(y.reverse()));
|
|
1241
1241
|
continue;
|
|
1242
1242
|
}
|
|
1243
1243
|
s.push({
|
|
1244
|
-
index:
|
|
1244
|
+
index: c.length,
|
|
1245
1245
|
point: l.point
|
|
1246
1246
|
});
|
|
1247
|
-
const
|
|
1248
|
-
|
|
1247
|
+
const d = l.getLeftmostComparator(u);
|
|
1248
|
+
f = h.sort(d)[0].otherSE;
|
|
1249
1249
|
break;
|
|
1250
1250
|
}
|
|
1251
|
-
e.push(new W(
|
|
1251
|
+
e.push(new W(c));
|
|
1252
1252
|
}
|
|
1253
1253
|
return e;
|
|
1254
1254
|
}
|
|
@@ -1261,16 +1261,16 @@ class W {
|
|
|
1261
1261
|
getGeom() {
|
|
1262
1262
|
let t = this.events[0].point;
|
|
1263
1263
|
const e = [t];
|
|
1264
|
-
for (let
|
|
1265
|
-
const s = this.events[
|
|
1264
|
+
for (let c = 1, g = this.events.length - 1; c < g; c++) {
|
|
1265
|
+
const s = this.events[c].point, h = this.events[c + 1].point;
|
|
1266
1266
|
bt(s, t, h) !== 0 && (e.push(s), t = s);
|
|
1267
1267
|
}
|
|
1268
1268
|
if (e.length === 1) return null;
|
|
1269
1269
|
const n = e[0], r = e[1];
|
|
1270
1270
|
bt(n, t, r) === 0 && e.shift(), e.push(e[0]);
|
|
1271
|
-
const i = this.isExteriorRing() ? 1 : -1, u = this.isExteriorRing() ? 0 : e.length - 1, l = this.isExteriorRing() ? e.length : -1,
|
|
1272
|
-
for (let
|
|
1273
|
-
return
|
|
1271
|
+
const i = this.isExteriorRing() ? 1 : -1, u = this.isExteriorRing() ? 0 : e.length - 1, l = this.isExteriorRing() ? e.length : -1, f = [];
|
|
1272
|
+
for (let c = u; c != l; c += i) f.push([e[c].x, e[c].y]);
|
|
1273
|
+
return f;
|
|
1274
1274
|
}
|
|
1275
1275
|
isExteriorRing() {
|
|
1276
1276
|
if (this._isExteriorRing === void 0) {
|
|
@@ -1353,51 +1353,51 @@ class xe {
|
|
|
1353
1353
|
return t.isLeft ? this.queue.remove(t.otherSE) : this.tree.remove(e), n;
|
|
1354
1354
|
const r = t.isLeft ? this.tree.add(e) : this.tree.find(e);
|
|
1355
1355
|
if (!r) throw new Error(`Unable to find segment #${e.id} [${e.leftSE.point.x}, ${e.leftSE.point.y}] -> [${e.rightSE.point.x}, ${e.rightSE.point.y}] in SweepLine tree.`);
|
|
1356
|
-
let i = r, u = r, l,
|
|
1356
|
+
let i = r, u = r, l, f;
|
|
1357
1357
|
for (; l === void 0; )
|
|
1358
1358
|
i = this.tree.prev(i), i === null ? l = null : i.key.consumedBy === void 0 && (l = i.key);
|
|
1359
|
-
for (;
|
|
1360
|
-
u = this.tree.next(u), u === null ?
|
|
1359
|
+
for (; f === void 0; )
|
|
1360
|
+
u = this.tree.next(u), u === null ? f = null : u.key.consumedBy === void 0 && (f = u.key);
|
|
1361
1361
|
if (t.isLeft) {
|
|
1362
|
-
let
|
|
1362
|
+
let c = null;
|
|
1363
1363
|
if (l) {
|
|
1364
1364
|
const s = l.getIntersection(e);
|
|
1365
|
-
if (s !== null && (e.isAnEndpoint(s) || (
|
|
1365
|
+
if (s !== null && (e.isAnEndpoint(s) || (c = s), !l.isAnEndpoint(s))) {
|
|
1366
1366
|
const h = this._splitSafely(l, s);
|
|
1367
|
-
for (let
|
|
1368
|
-
n.push(h[
|
|
1367
|
+
for (let a = 0, d = h.length; a < d; a++)
|
|
1368
|
+
n.push(h[a]);
|
|
1369
1369
|
}
|
|
1370
1370
|
}
|
|
1371
|
-
let
|
|
1372
|
-
if (
|
|
1373
|
-
const s =
|
|
1374
|
-
if (s !== null && (e.isAnEndpoint(s) || (
|
|
1375
|
-
const h = this._splitSafely(
|
|
1376
|
-
for (let
|
|
1377
|
-
n.push(h[
|
|
1371
|
+
let g = null;
|
|
1372
|
+
if (f) {
|
|
1373
|
+
const s = f.getIntersection(e);
|
|
1374
|
+
if (s !== null && (e.isAnEndpoint(s) || (g = s), !f.isAnEndpoint(s))) {
|
|
1375
|
+
const h = this._splitSafely(f, s);
|
|
1376
|
+
for (let a = 0, d = h.length; a < d; a++)
|
|
1377
|
+
n.push(h[a]);
|
|
1378
1378
|
}
|
|
1379
1379
|
}
|
|
1380
|
-
if (
|
|
1380
|
+
if (c !== null || g !== null) {
|
|
1381
1381
|
let s = null;
|
|
1382
|
-
|
|
1382
|
+
c === null ? s = g : g === null ? s = c : s = R.comparePoints(c, g) <= 0 ? c : g, this.queue.remove(e.rightSE), n.push(e.rightSE);
|
|
1383
1383
|
const h = e.split(s);
|
|
1384
|
-
for (let
|
|
1385
|
-
n.push(h[
|
|
1384
|
+
for (let a = 0, d = h.length; a < d; a++)
|
|
1385
|
+
n.push(h[a]);
|
|
1386
1386
|
}
|
|
1387
1387
|
n.length > 0 ? (this.tree.remove(e), n.push(t)) : (this.segments.push(e), e.prev = l);
|
|
1388
1388
|
} else {
|
|
1389
|
-
if (l &&
|
|
1390
|
-
const
|
|
1391
|
-
if (
|
|
1392
|
-
if (!l.isAnEndpoint(
|
|
1393
|
-
const
|
|
1394
|
-
for (let s = 0, h =
|
|
1395
|
-
n.push(
|
|
1389
|
+
if (l && f) {
|
|
1390
|
+
const c = l.getIntersection(f);
|
|
1391
|
+
if (c !== null) {
|
|
1392
|
+
if (!l.isAnEndpoint(c)) {
|
|
1393
|
+
const g = this._splitSafely(l, c);
|
|
1394
|
+
for (let s = 0, h = g.length; s < h; s++)
|
|
1395
|
+
n.push(g[s]);
|
|
1396
1396
|
}
|
|
1397
|
-
if (!
|
|
1398
|
-
const
|
|
1399
|
-
for (let s = 0, h =
|
|
1400
|
-
n.push(
|
|
1397
|
+
if (!f.isAnEndpoint(c)) {
|
|
1398
|
+
const g = this._splitSafely(f, c);
|
|
1399
|
+
for (let s = 0, h = g.length; s < h; s++)
|
|
1400
|
+
n.push(g[s]);
|
|
1401
1401
|
}
|
|
1402
1402
|
}
|
|
1403
1403
|
}
|
|
@@ -1430,39 +1430,39 @@ class ve {
|
|
|
1430
1430
|
}
|
|
1431
1431
|
if (A.type === "intersection")
|
|
1432
1432
|
for (let s = 0, h = r.length; s < h; s++) {
|
|
1433
|
-
const
|
|
1434
|
-
for (let
|
|
1435
|
-
if (it(
|
|
1433
|
+
const a = r[s];
|
|
1434
|
+
for (let d = s + 1, p = r.length; d < p; d++)
|
|
1435
|
+
if (it(a.bbox, r[d].bbox) === null) return [];
|
|
1436
1436
|
}
|
|
1437
1437
|
const i = new lt(R.compare);
|
|
1438
1438
|
for (let s = 0, h = r.length; s < h; s++) {
|
|
1439
|
-
const
|
|
1440
|
-
for (let
|
|
1441
|
-
if (i.insert(
|
|
1439
|
+
const a = r[s].getSweepEvents();
|
|
1440
|
+
for (let d = 0, p = a.length; d < p; d++)
|
|
1441
|
+
if (i.insert(a[d]), i.size > Lt)
|
|
1442
1442
|
throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).");
|
|
1443
1443
|
}
|
|
1444
1444
|
const u = new xe(i);
|
|
1445
|
-
let l = i.size,
|
|
1446
|
-
for (;
|
|
1447
|
-
const s =
|
|
1445
|
+
let l = i.size, f = i.pop();
|
|
1446
|
+
for (; f; ) {
|
|
1447
|
+
const s = f.key;
|
|
1448
1448
|
if (i.size === l) {
|
|
1449
|
-
const
|
|
1450
|
-
throw new Error(`Unable to pop() ${s.isLeft ? "left" : "right"} SweepEvent [${s.point.x}, ${s.point.y}] from segment #${
|
|
1449
|
+
const a = s.segment;
|
|
1450
|
+
throw new Error(`Unable to pop() ${s.isLeft ? "left" : "right"} SweepEvent [${s.point.x}, ${s.point.y}] from segment #${a.id} [${a.leftSE.point.x}, ${a.leftSE.point.y}] -> [${a.rightSE.point.x}, ${a.rightSE.point.y}] from queue.`);
|
|
1451
1451
|
}
|
|
1452
1452
|
if (i.size > Lt)
|
|
1453
1453
|
throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");
|
|
1454
1454
|
if (u.segments.length > de)
|
|
1455
1455
|
throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");
|
|
1456
1456
|
const h = u.process(s);
|
|
1457
|
-
for (let
|
|
1458
|
-
const p = h[
|
|
1457
|
+
for (let a = 0, d = h.length; a < d; a++) {
|
|
1458
|
+
const p = h[a];
|
|
1459
1459
|
p.consumedBy === void 0 && i.insert(p);
|
|
1460
1460
|
}
|
|
1461
|
-
l = i.size,
|
|
1461
|
+
l = i.size, f = i.pop();
|
|
1462
1462
|
}
|
|
1463
1463
|
U.reset();
|
|
1464
|
-
const
|
|
1465
|
-
return new ye(
|
|
1464
|
+
const c = W.factory(u.segments);
|
|
1465
|
+
return new ye(c).getGeom();
|
|
1466
1466
|
}
|
|
1467
1467
|
}
|
|
1468
1468
|
const A = new ve(), me = function(o) {
|
|
@@ -1541,15 +1541,15 @@ function kt(o, t) {
|
|
|
1541
1541
|
e.properties = { isMask: !0 };
|
|
1542
1542
|
const n = It(yt(o)), r = (n[2] - n[0]) / 360 / 1e3, i = n[0] < -180, u = n[2] > 180, l = Me(o);
|
|
1543
1543
|
if (l.features.length > 1 && (i || u))
|
|
1544
|
-
for (const
|
|
1545
|
-
const
|
|
1546
|
-
if (u &&
|
|
1547
|
-
for (const
|
|
1548
|
-
for (const s of
|
|
1544
|
+
for (const f of l.features) {
|
|
1545
|
+
const c = It(yt(f));
|
|
1546
|
+
if (u && c[0] < -180 + r)
|
|
1547
|
+
for (const g of f.geometry.coordinates)
|
|
1548
|
+
for (const s of g)
|
|
1549
1549
|
s[0] += 360 - r;
|
|
1550
|
-
if (i &&
|
|
1551
|
-
for (const
|
|
1552
|
-
for (const s of
|
|
1550
|
+
if (i && c[2] > 180 - r)
|
|
1551
|
+
for (const g of f.geometry.coordinates)
|
|
1552
|
+
for (const s of g)
|
|
1553
1553
|
s[0] -= 360 - r;
|
|
1554
1554
|
}
|
|
1555
1555
|
t(
|
|
@@ -1591,155 +1591,157 @@ function Ie(o) {
|
|
|
1591
1591
|
}) : void 0
|
|
1592
1592
|
});
|
|
1593
1593
|
}
|
|
1594
|
-
function Te(o, t = {}, e = {}, n = Ie) {
|
|
1595
|
-
let
|
|
1596
|
-
const
|
|
1594
|
+
function Te(o, t = {}, e = {}, n = Ie, r = !1) {
|
|
1595
|
+
let i = -1, u, l, f, c = !1;
|
|
1596
|
+
const g = new Tt({
|
|
1597
1597
|
updateWhileAnimating: !0
|
|
1598
1598
|
});
|
|
1599
|
-
o.addLayer(
|
|
1600
|
-
const
|
|
1601
|
-
|
|
1602
|
-
o.forEachFeatureAtPixel(
|
|
1603
|
-
const
|
|
1604
|
-
if (
|
|
1605
|
-
return
|
|
1599
|
+
o.addLayer(g);
|
|
1600
|
+
const s = new Ut({});
|
|
1601
|
+
g.setSource(s), g.setStyle(n), o.on("click", (p) => {
|
|
1602
|
+
o.forEachFeatureAtPixel(p.pixel, (y) => {
|
|
1603
|
+
const x = y.getId();
|
|
1604
|
+
if (x)
|
|
1605
|
+
return p.stopPropagation(), l == null || l({ type: "markerClick", id: x }), y;
|
|
1606
1606
|
});
|
|
1607
|
-
}), o.on("pointermove", (
|
|
1608
|
-
const
|
|
1609
|
-
|
|
1607
|
+
}), o.on("pointermove", (p) => {
|
|
1608
|
+
const y = o.forEachFeatureAtPixel(p.pixel, (x) => x.getId());
|
|
1609
|
+
u !== y && (u && (l == null || l({
|
|
1610
1610
|
type: "markerMouseLeave",
|
|
1611
|
-
id:
|
|
1612
|
-
})),
|
|
1611
|
+
id: u
|
|
1612
|
+
})), y && (l == null || l({
|
|
1613
1613
|
type: "markerMouseEnter",
|
|
1614
|
-
id:
|
|
1615
|
-
})), o.getTargetElement().style.cursor =
|
|
1614
|
+
id: y
|
|
1615
|
+
})), o.getTargetElement().style.cursor = y ? "pointer" : c ? "crosshair" : "", u = y);
|
|
1616
1616
|
});
|
|
1617
|
-
function
|
|
1618
|
-
return
|
|
1617
|
+
function h() {
|
|
1618
|
+
return qt() ?? o.getView().getProjection();
|
|
1619
1619
|
}
|
|
1620
|
-
function
|
|
1621
|
-
return
|
|
1620
|
+
function a(p) {
|
|
1621
|
+
return p.transform(Ct, h());
|
|
1622
1622
|
}
|
|
1623
|
-
const
|
|
1624
|
-
|
|
1623
|
+
const d = (p) => {
|
|
1624
|
+
l == null || l({
|
|
1625
1625
|
type: "mapClick",
|
|
1626
|
-
coordinates: at(
|
|
1626
|
+
coordinates: at(p.coordinate, h())
|
|
1627
1627
|
});
|
|
1628
1628
|
};
|
|
1629
1629
|
return {
|
|
1630
|
-
setEventHandler(
|
|
1631
|
-
|
|
1630
|
+
setEventHandler(p) {
|
|
1631
|
+
p ? (l = p, o.on("click", d)) : (l = void 0, o.un("click", d));
|
|
1632
1632
|
},
|
|
1633
|
-
flyTo(
|
|
1633
|
+
flyTo(p, y) {
|
|
1634
1634
|
o.getView().animate({
|
|
1635
|
-
center: V(
|
|
1636
|
-
...
|
|
1635
|
+
center: V(p, h()),
|
|
1636
|
+
...y ? { zoom: y } : {},
|
|
1637
1637
|
duration: 2e3,
|
|
1638
1638
|
...t
|
|
1639
1639
|
});
|
|
1640
1640
|
},
|
|
1641
|
-
fitBounds(
|
|
1642
|
-
o.getView().fit(
|
|
1643
|
-
padding: [
|
|
1644
|
-
...
|
|
1641
|
+
fitBounds(p, y, x) {
|
|
1642
|
+
o.getView().fit(Qt(p, Ct, h()), {
|
|
1643
|
+
padding: [y, y, y, y],
|
|
1644
|
+
...x ? { maxZoom: x } : {},
|
|
1645
1645
|
duration: 2e3,
|
|
1646
1646
|
...e
|
|
1647
1647
|
});
|
|
1648
1648
|
},
|
|
1649
|
-
indicateReverse(
|
|
1650
|
-
c =
|
|
1649
|
+
indicateReverse(p) {
|
|
1650
|
+
c = p, o.getTargetElement().style.cursor = p ? "crosshair" : "";
|
|
1651
1651
|
},
|
|
1652
|
-
setReverseMarker(
|
|
1653
|
-
|
|
1654
|
-
V(
|
|
1655
|
-
) : (
|
|
1656
|
-
new Z(V(
|
|
1657
|
-
),
|
|
1652
|
+
setReverseMarker(p) {
|
|
1653
|
+
f ? p ? f.getGeometry().setCoordinates(
|
|
1654
|
+
V(p, h())
|
|
1655
|
+
) : (s.removeFeature(f), f.dispose(), f = void 0) : p && (f = new N(
|
|
1656
|
+
new Z(V(p, h()))
|
|
1657
|
+
), f.setProperties({ isReverse: !0 }), s.addFeature(f));
|
|
1658
1658
|
},
|
|
1659
|
-
setMarkers(
|
|
1660
|
-
function
|
|
1661
|
-
var
|
|
1662
|
-
if (
|
|
1663
|
-
for (const v of
|
|
1664
|
-
const
|
|
1665
|
-
|
|
1659
|
+
setMarkers(p, y) {
|
|
1660
|
+
function x(m) {
|
|
1661
|
+
var w;
|
|
1662
|
+
if (m)
|
|
1663
|
+
for (const v of m.features) {
|
|
1664
|
+
const E = v.geometry.type === "Polygon" ? new ut(v.geometry.coordinates) : v.geometry.type === "MultiPolygon" ? new ft(v.geometry.coordinates) : null;
|
|
1665
|
+
E && s.addFeature(
|
|
1666
1666
|
new N({
|
|
1667
|
-
isMask: !!((
|
|
1668
|
-
geometry:
|
|
1667
|
+
isMask: !!((w = v.properties) != null && w.isMask),
|
|
1668
|
+
geometry: a(E)
|
|
1669
1669
|
})
|
|
1670
1670
|
);
|
|
1671
1671
|
}
|
|
1672
1672
|
}
|
|
1673
|
-
if (
|
|
1674
|
-
let
|
|
1675
|
-
if (
|
|
1676
|
-
const
|
|
1673
|
+
if (s.clear(), f && s.addFeature(f), y) {
|
|
1674
|
+
let m = !1;
|
|
1675
|
+
if (y.geometry.type === "GeometryCollection") {
|
|
1676
|
+
const w = y.geometry.geometries.map(
|
|
1677
1677
|
(v) => v.type === "Polygon" ? new ut(v.coordinates) : v.type === "MultiPolygon" ? new ft(v.coordinates) : null
|
|
1678
1678
|
).filter((v) => !!v);
|
|
1679
|
-
if (
|
|
1680
|
-
|
|
1681
|
-
new N(
|
|
1682
|
-
),
|
|
1679
|
+
if (w.length > 0)
|
|
1680
|
+
s.addFeature(
|
|
1681
|
+
new N(a(new $t(w)))
|
|
1682
|
+
), m = !0;
|
|
1683
1683
|
else
|
|
1684
|
-
for (const v of
|
|
1685
|
-
v.type === "LineString" ? (
|
|
1684
|
+
for (const v of y.geometry.geometries)
|
|
1685
|
+
v.type === "LineString" ? (s.addFeature(
|
|
1686
1686
|
new N(
|
|
1687
|
-
|
|
1687
|
+
a(new ct(v.coordinates))
|
|
1688
1688
|
)
|
|
1689
|
-
),
|
|
1689
|
+
), m = !0) : v.type === "MultiLineString" && s.addFeature(
|
|
1690
1690
|
new N(
|
|
1691
|
-
|
|
1691
|
+
a(new ht(v.coordinates))
|
|
1692
1692
|
)
|
|
1693
|
-
),
|
|
1693
|
+
), m = !0;
|
|
1694
1694
|
}
|
|
1695
|
-
if (!
|
|
1696
|
-
if (
|
|
1697
|
-
kt(
|
|
1698
|
-
else if (
|
|
1699
|
-
kt(
|
|
1700
|
-
else if (
|
|
1701
|
-
|
|
1695
|
+
if (!m) {
|
|
1696
|
+
if (y.geometry.type === "Polygon")
|
|
1697
|
+
kt(y, x);
|
|
1698
|
+
else if (y.geometry.type === "MultiPolygon")
|
|
1699
|
+
kt(y, x);
|
|
1700
|
+
else if (y.geometry.type === "LineString") {
|
|
1701
|
+
s.addFeature(
|
|
1702
1702
|
new N(
|
|
1703
|
-
|
|
1703
|
+
a(new ct(y.geometry.coordinates))
|
|
1704
1704
|
)
|
|
1705
1705
|
);
|
|
1706
1706
|
return;
|
|
1707
|
-
} else if (
|
|
1708
|
-
|
|
1707
|
+
} else if (y.geometry.type === "MultiLineString") {
|
|
1708
|
+
s.addFeature(
|
|
1709
1709
|
new N(
|
|
1710
|
-
|
|
1710
|
+
a(new ht(y.geometry.coordinates))
|
|
1711
1711
|
)
|
|
1712
1712
|
);
|
|
1713
1713
|
return;
|
|
1714
1714
|
}
|
|
1715
1715
|
}
|
|
1716
|
-
|
|
1716
|
+
if (!r && y.geometry.type !== "Point")
|
|
1717
|
+
return;
|
|
1718
|
+
s.addFeature(new N(a(new Z(y.center))));
|
|
1717
1719
|
}
|
|
1718
|
-
for (const
|
|
1719
|
-
if (
|
|
1720
|
+
for (const m of p ?? []) {
|
|
1721
|
+
if (m === y)
|
|
1720
1722
|
continue;
|
|
1721
|
-
const
|
|
1722
|
-
new Z(V(
|
|
1723
|
+
const w = new N(
|
|
1724
|
+
new Z(V(m.center, h()))
|
|
1723
1725
|
);
|
|
1724
|
-
|
|
1725
|
-
fuzzy: !!
|
|
1726
|
-
tooltip:
|
|
1727
|
-
}),
|
|
1726
|
+
w.setId(m.id), w.setProperties({
|
|
1727
|
+
fuzzy: !!m.matching_text,
|
|
1728
|
+
tooltip: m.place_type[0] === "reverse" ? m.place_name : m.place_name.replace(/,.*/, "")
|
|
1729
|
+
}), s.addFeature(w);
|
|
1728
1730
|
}
|
|
1729
1731
|
},
|
|
1730
|
-
setSelectedMarker(
|
|
1731
|
-
var
|
|
1732
|
-
const
|
|
1733
|
-
|
|
1732
|
+
setSelectedMarker(p) {
|
|
1733
|
+
var m, w, v;
|
|
1734
|
+
const y = s.getFeatures(), x = (m = y[0]) != null && m.getProperties().isReverse ? 1 : 0;
|
|
1735
|
+
i > -1 && ((w = y[i + x]) == null || w.setProperties({
|
|
1734
1736
|
isSelected: !1
|
|
1735
|
-
})),
|
|
1737
|
+
})), p > -1 && ((v = y[p + x]) == null || v.setProperties({
|
|
1736
1738
|
isSelected: !0
|
|
1737
|
-
})),
|
|
1739
|
+
})), i = p;
|
|
1738
1740
|
},
|
|
1739
1741
|
getCenterAndZoom() {
|
|
1740
|
-
const
|
|
1741
|
-
if (!(!
|
|
1742
|
-
return [
|
|
1742
|
+
const p = o.getView(), y = p.getCenter(), x = p.getZoom();
|
|
1743
|
+
if (!(!y || x === void 0))
|
|
1744
|
+
return [x, ...at(y, h())];
|
|
1743
1745
|
}
|
|
1744
1746
|
};
|
|
1745
1747
|
}
|