@treasuryspatial/map-kit 0.1.9 → 0.1.10
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/dist/mapThreeLayer.d.ts.map +1 -1
- package/dist/mapThreeLayer.js +21 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapThreeLayer.d.ts","sourceRoot":"","sources":["../src/mapThreeLayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;IAC3F,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"mapThreeLayer.d.ts","sourceRoot":"","sources":["../src/mapThreeLayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;IAC3F,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAsUhF"}
|
package/dist/mapThreeLayer.js
CHANGED
|
@@ -21,6 +21,7 @@ export function createMapThreeLayer(options) {
|
|
|
21
21
|
let renderDisabled = false;
|
|
22
22
|
let errorCount = 0;
|
|
23
23
|
let hasRenderable = false;
|
|
24
|
+
let originResolved = false;
|
|
24
25
|
const log = (...args) => {
|
|
25
26
|
if (!debug)
|
|
26
27
|
return;
|
|
@@ -159,6 +160,24 @@ export function createMapThreeLayer(options) {
|
|
|
159
160
|
return;
|
|
160
161
|
try {
|
|
161
162
|
camera.projectionMatrix = new THREE.Matrix4().fromArray(matrix);
|
|
163
|
+
if (!mercatorOrigin && mapRef && !originResolved) {
|
|
164
|
+
try {
|
|
165
|
+
const center = mapRef.getCenter();
|
|
166
|
+
mercatorOrigin = mapboxgl.MercatorCoordinate.fromLngLat(center);
|
|
167
|
+
meterScale = mercatorOrigin.meterInMercatorCoordinateUnits();
|
|
168
|
+
originResolved = true;
|
|
169
|
+
if (debug) {
|
|
170
|
+
log('origin fallback', {
|
|
171
|
+
origin: { lng: center.lng, lat: center.lat },
|
|
172
|
+
mercator: { x: mercatorOrigin.x, y: mercatorOrigin.y, z: mercatorOrigin.z },
|
|
173
|
+
meterScale,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch (err) {
|
|
178
|
+
logError('origin fallback failed', err);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
162
181
|
if (mercatorOrigin) {
|
|
163
182
|
const translate = new THREE.Matrix4().makeTranslation(mercatorOrigin.x, mercatorOrigin.y, (mercatorOrigin.z ?? 0) + zOffset * meterScale);
|
|
164
183
|
const scale = new THREE.Matrix4().makeScale(meterScale, -meterScale, meterScale);
|
|
@@ -266,6 +285,7 @@ export function createMapThreeLayer(options) {
|
|
|
266
285
|
setOrigin: (origin) => {
|
|
267
286
|
if (!origin) {
|
|
268
287
|
mercatorOrigin = null;
|
|
288
|
+
originResolved = false;
|
|
269
289
|
if (debug) {
|
|
270
290
|
log('origin cleared');
|
|
271
291
|
}
|
|
@@ -273,6 +293,7 @@ export function createMapThreeLayer(options) {
|
|
|
273
293
|
}
|
|
274
294
|
mercatorOrigin = mapboxgl.MercatorCoordinate.fromLngLat(origin);
|
|
275
295
|
meterScale = mercatorOrigin.meterInMercatorCoordinateUnits();
|
|
296
|
+
originResolved = true;
|
|
276
297
|
if (debug) {
|
|
277
298
|
log('origin set', {
|
|
278
299
|
origin,
|