@treasuryspatial/map-kit 0.1.8 → 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.
@@ -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,CAgShF"}
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"}
@@ -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;
@@ -132,6 +133,23 @@ export function createMapThreeLayer(options) {
132
133
  rootGroup.add(meshGroup);
133
134
  if (onInit && renderer && camera)
134
135
  onInit(scene, renderer, camera);
136
+ if (!mercatorOrigin && mapRef && meshGroup) {
137
+ try {
138
+ const center = mapRef.getCenter();
139
+ mercatorOrigin = mapboxgl.MercatorCoordinate.fromLngLat(center);
140
+ meterScale = mercatorOrigin.meterInMercatorCoordinateUnits();
141
+ if (debug) {
142
+ log('origin fallback', {
143
+ origin: { lng: center.lng, lat: center.lat },
144
+ mercator: { x: mercatorOrigin.x, y: mercatorOrigin.y, z: mercatorOrigin.z },
145
+ meterScale,
146
+ });
147
+ }
148
+ }
149
+ catch (err) {
150
+ logError('origin fallback failed', err);
151
+ }
152
+ }
135
153
  },
136
154
  prerender: (_gl, matrix) => {
137
155
  if (renderDisabled)
@@ -142,6 +160,24 @@ export function createMapThreeLayer(options) {
142
160
  return;
143
161
  try {
144
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
+ }
145
181
  if (mercatorOrigin) {
146
182
  const translate = new THREE.Matrix4().makeTranslation(mercatorOrigin.x, mercatorOrigin.y, (mercatorOrigin.z ?? 0) + zOffset * meterScale);
147
183
  const scale = new THREE.Matrix4().makeScale(meterScale, -meterScale, meterScale);
@@ -249,6 +285,7 @@ export function createMapThreeLayer(options) {
249
285
  setOrigin: (origin) => {
250
286
  if (!origin) {
251
287
  mercatorOrigin = null;
288
+ originResolved = false;
252
289
  if (debug) {
253
290
  log('origin cleared');
254
291
  }
@@ -256,6 +293,7 @@ export function createMapThreeLayer(options) {
256
293
  }
257
294
  mercatorOrigin = mapboxgl.MercatorCoordinate.fromLngLat(origin);
258
295
  meterScale = mercatorOrigin.meterInMercatorCoordinateUnits();
296
+ originResolved = true;
259
297
  if (debug) {
260
298
  log('origin set', {
261
299
  origin,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@treasuryspatial/map-kit",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "main": "./dist/index.js",