leaflet-city-mapper 0.1.0 → 0.1.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/README.md +1 -1
- package/dist/leaflet-city-mapper-src.js.map +1 -1
- package/dist/leaflet-city-mapper-worker-src.js.map +1 -1
- package/dist/leaflet-city-mapper-worker.js.map +1 -1
- package/dist/leaflet-city-mapper.js.map +1 -1
- package/libs/leaflet-lens.js +151 -151
- package/libs/leaflet.js +3 -3
- package/libs/openlayers-bindings.js +1129 -1129
- package/libs/openlayers-bindings.min.js.map +1 -1
- package/package.json +2 -4
- package/src/animations/cancelCameraAnimation.js +19 -19
- package/src/animations/mapStopPitchBearingAnimation.js +10 -10
- package/src/animations/scheduleCameraAnimation.js +15 -15
- package/src/animations/scheduleMarkerPan.js +14 -14
- package/src/animations/updateZoomCamera.js +25 -25
- package/src/archives/findDirectoryEntry.js +17 -17
- package/src/archives/findTile.js +45 -45
- package/src/archives/getDirectoryEntries.js +30 -30
- package/src/archives/getTileData.js +26 -26
- package/src/archives/readArchiveRange.js +48 -48
- package/src/astronomy/solarTime.js +21 -21
- package/src/camera/cameraMapReady.js +9 -9
- package/src/camera/cleanupCameraMap.js +13 -13
- package/src/camera/constrainCameraToBounds.js +3 -3
- package/src/camera/createSceneCamera.js +25 -25
- package/src/camera/getBearing.js +10 -10
- package/src/camera/getPitch.js +10 -10
- package/src/camera/mapGetBoundsCenterZoom.js +14 -14
- package/src/camera/mapLimitOffset.js +17 -17
- package/src/camera/mapPanBy.js +14 -14
- package/src/camera/setBearing.js +13 -13
- package/src/camera/setPitch.js +13 -13
- package/src/cog/decodeCogTile.js +37 -37
- package/src/cog/finiteCogValues.js +12 -12
- package/src/cog/getCogAssetEntry.js +26 -26
- package/src/cog/getCogBase.js +22 -22
- package/src/cog/getCogHeader.js +10 -10
- package/src/cog/getCogProfile.js +25 -25
- package/src/cog/getCogTile.js +25 -25
- package/src/cog/getColorTile.js +38 -38
- package/src/cog/getElevationTile.js +29 -29
- package/src/cog/hasCogProjection.js +16 -16
- package/src/cog/initCog.js +13 -13
- package/src/cog/invalidCogFullResponse.js +10 -10
- package/src/cog/openCog.js +40 -40
- package/src/cog/openCogAsset.js +22 -22
- package/src/cog/readCog.js +39 -39
- package/src/cog/readCogBlock.js +19 -19
- package/src/cog/readCogBody.js +30 -30
- package/src/cog/readCogDirectories.js +32 -32
- package/src/cog/readCogDirectory.js +34 -34
- package/src/cog/readCogLevel.js +36 -36
- package/src/cog/readCogTag.js +28 -28
- package/src/cog/validCogDimensions.js +15 -15
- package/src/cog/validCogEncoding.js +18 -18
- package/src/cog/validCogGeoArrays.js +17 -17
- package/src/cog/validCogGrid.js +22 -22
- package/src/cog/validCogTileCoordinates.js +13 -13
- package/src/cog/validateCogContainer.js +17 -17
- package/src/cog/validateCogContentRange.js +18 -18
- package/src/cog/validateCogOffsets.js +19 -19
- package/src/cog/validateCogRange.js +16 -16
- package/src/cog/validateCogResponse.js +26 -26
- package/src/collision/collectIntersections.js +41 -41
- package/src/collision/hiddenLightHit.js +19 -19
- package/src/collision/indexTriangle.js +18 -18
- package/src/collision/insideMesh.js +47 -47
- package/src/collision/insideWalker.js +52 -52
- package/src/collision/intersectMeshes.js +40 -40
- package/src/collision/localRay.js +31 -31
- package/src/collision/mergeHits.js +19 -19
- package/src/collision/rayBounds.js +28 -28
- package/src/collision/readTriangle.js +32 -32
- package/src/collision/trafficCollision.js +23 -23
- package/src/collision/transformTriangle.js +18 -18
- package/src/collision/triangleDistance.js +34 -34
- package/src/collision/vertexCount.js +11 -11
- package/src/collision/worldHit.js +30 -30
- package/src/controls/acceptPitchDrag.js +10 -10
- package/src/controls/acceptRotateDrag.js +9 -9
- package/src/controls/addCameraHandler.js +18 -18
- package/src/controls/adjustCameraDrag.js +13 -13
- package/src/controls/cameraDragContextMenu.js +12 -12
- package/src/controls/cameraDragEnd.js +10 -10
- package/src/controls/cameraDragMove.js +31 -31
- package/src/controls/changeCameraTouch.js +17 -17
- package/src/controls/compassOrientation.js +12 -12
- package/src/controls/compassRemoveHooks.js +2 -2
- package/src/controls/containerResizeRemoveHooks.js +2 -2
- package/src/controls/endCameraTouch.js +18 -18
- package/src/controls/failCompassPermission.js +10 -10
- package/src/controls/finishCameraDrag.js +14 -14
- package/src/controls/finishCompassPermission.js +24 -24
- package/src/controls/isEditableTarget.js +9 -9
- package/src/controls/loadCameraControls.js +18 -18
- package/src/controls/moveCameraTouch.js +34 -34
- package/src/controls/refreshRotateFocus.js +5 -5
- package/src/controls/removeCameraDrag.js +28 -28
- package/src/controls/resizeMap.js +7 -7
- package/src/controls/rotateButtonClick.js +16 -16
- package/src/controls/rotateButtonKeydown.js +20 -20
- package/src/controls/rotateControl.js +12 -12
- package/src/controls/shiftRotateRemoveHooks.js +2 -2
- package/src/controls/shiftRotateWheel.js +15 -15
- package/src/core/cameraMarkerOnDrag.js +16 -16
- package/src/core/constructLayer.js +16 -16
- package/src/core/extendLeafletClass.js +12 -12
- package/src/core/extendTerrainPixelBounds.js +41 -41
- package/src/core/layerAddInitHook.js +12 -12
- package/src/core/layerMergeOptions.js +14 -14
- package/src/core/markerInitInteraction.js +10 -10
- package/src/core/markerSetIcon.js +14 -14
- package/src/core/markerSetRotation.js +19 -19
- package/src/core/projectNativePath.js +30 -30
- package/src/core/redrawPath.js +11 -11
- package/src/core/removeLayer.js +26 -26
- package/src/core/setRotation.js +12 -12
- package/src/core/whenReady.js +14 -14
- package/src/geometry/addBridges.js +36 -36
- package/src/geometry/addGeneratedTriangle.js +10 -10
- package/src/geometry/appendAreaTriangle.js +32 -32
- package/src/geometry/appendNativeTriangle.js +17 -17
- package/src/geometry/appendRouteDash.js +33 -33
- package/src/geometry/appendRouteSegment.js +28 -28
- package/src/geometry/assembleAreaGeometry.js +48 -48
- package/src/geometry/bridgeEdge.js +18 -18
- package/src/geometry/bridgeFaces.js +22 -22
- package/src/geometry/bridgePaths.js +19 -19
- package/src/geometry/bridgePolygon.js +37 -37
- package/src/geometry/bridgeSides.js +18 -18
- package/src/geometry/buildProjectedPoint.js +32 -32
- package/src/geometry/buildProjectedPolygon.js +34 -34
- package/src/geometry/circleAt.js +20 -20
- package/src/geometry/circleGeometry.js +41 -41
- package/src/geometry/createModelGeometry.js +44 -44
- package/src/geometry/crossVector.js +15 -15
- package/src/geometry/dashValues.js +23 -23
- package/src/geometry/dashedSegment.js +33 -33
- package/src/geometry/diskAt.js +18 -18
- package/src/geometry/emitter.js +18 -18
- package/src/geometry/fillNativePolygon.js +28 -28
- package/src/geometry/generateTreeGeometry.js +18 -18
- package/src/geometry/indexBridge.js +36 -36
- package/src/geometry/instanceAreaGeometry.js +37 -37
- package/src/geometry/line.js +28 -28
- package/src/geometry/lineJoin.js +35 -35
- package/src/geometry/markerImageBounds.js +20 -20
- package/src/geometry/meshShadowBounds.js +33 -33
- package/src/geometry/offsetBelowGround.js +10 -10
- package/src/geometry/quad.js +23 -23
- package/src/geometry/restoreGeometry.js +29 -29
- package/src/geometry/roofCoverage.js +33 -33
- package/src/geometry/roofFootprint.js +40 -40
- package/src/geometry/samePoint.js +11 -11
- package/src/geometry/segment.js +32 -32
- package/src/geometry/subtractRoofTile.js +28 -28
- package/src/geometry/terrainBuffers.js +36 -36
- package/src/geometry/terrainTileGeometry.js +28 -28
- package/src/geometry/validateTree.js +19 -19
- package/src/globals/L.js +6 -6
- package/src/globals/cameraFov.js +8 -8
- package/src/globals/cogTags.js +6 -6
- package/src/globals/colorTexture.js +11 -11
- package/src/globals/cosObliquity.js +8 -8
- package/src/globals/degrees.js +6 -6
- package/src/globals/earthCirc.js +6 -6
- package/src/globals/geometryWorkerUrl.js +8 -8
- package/src/globals/halfRadians.js +6 -6
- package/src/globals/lampDirections.js +13 -13
- package/src/globals/layerControlAddItem.js +8 -8
- package/src/globals/leafletLayer.js +8 -8
- package/src/globals/lightScale.js +6 -6
- package/src/globals/mvtTextDecoder.js +6 -6
- package/src/globals/nativeScalableStyleKeys.js +6 -6
- package/src/globals/sinObliquity.js +8 -8
- package/src/globals/tau.js +6 -6
- package/src/globals/vectorStyleNamedColors.js +13 -13
- package/src/globals/vectorTileEvents.js +6 -6
- package/src/globals/workerCogSource.js +6 -6
- package/src/gpu/initializeRendererResources.js +39 -39
- package/src/gpu/initializeSharedRenderer.js +59 -59
- package/src/gpu/mountRenderer.js +25 -25
- package/src/layer-controls/layerControlInputId.js +18 -18
- package/src/layer-controls/layerCountTitle.js +16 -16
- package/src/layer-controls/placeEntryElement.js +29 -29
- package/src/layer-controls/renderLayerCount.js +28 -28
- package/src/lighting/visitLightCells.js +26 -26
- package/src/lighting/writeLightCell.js +14 -14
- package/src/materials/createProgramLayout.js +44 -44
- package/src/materials/createProgramUniforms.js +25 -25
- package/src/materials/modelMaterialFor.js +29 -29
- package/src/materials/prepareMeshCutout.js +21 -21
- package/src/materials/terrainRasterProgram.js +65 -65
- package/src/materials/validateRoofMaterial.js +17 -17
- package/src/models/applyModelTransform.js +18 -18
- package/src/models/buildModelNodes.js +24 -24
- package/src/models/createModelContext.js +24 -24
- package/src/models/loadBuffer.js +16 -16
- package/src/models/loadModelResources.js +22 -22
- package/src/models/normalizeAccessor.js +21 -21
- package/src/models/prepareModel.js +29 -29
- package/src/models/prepareModelGeometry.js +35 -35
- package/src/models/prepareModelPrimitive.js +25 -25
- package/src/models/readAccessorValue.js +16 -16
- package/src/models/readModelAttributes.js +32 -32
- package/src/models/readModelIndices.js +28 -28
- package/src/models/readSparseAccessor.js +31 -31
- package/src/models/releaseModelResources.js +15 -15
- package/src/mvt/addMvtCrossings.js +23 -23
- package/src/mvt/appendMvtBandTriangles.js +42 -42
- package/src/mvt/appendMvtCoordinates.js +20 -20
- package/src/mvt/appendMvtPolygonTriangles.js +29 -29
- package/src/mvt/beginMvtPath.js +19 -19
- package/src/mvt/closeMvtPath.js +16 -16
- package/src/mvt/collectMvtEdges.js +29 -29
- package/src/mvt/createMvtReader.js +14 -14
- package/src/mvt/decodeVectorTile.js +39 -39
- package/src/mvt/expectMvtWire.js +11 -11
- package/src/mvt/finishMvtPath.js +14 -14
- package/src/mvt/finiteMvtCoordinate.js +14 -14
- package/src/mvt/groupMvtPolygons.js +35 -35
- package/src/mvt/isMvtFallbackError.js +13 -13
- package/src/mvt/mergeMvtActiveEdges.js +18 -18
- package/src/mvt/mvtEdgeX.js +12 -12
- package/src/mvt/mvtPathsVertices.js +15 -15
- package/src/mvt/mvtPolygonPaths.js +19 -19
- package/src/mvt/numericMvtValue.js +11 -11
- package/src/mvt/readMvtFeature.js +46 -46
- package/src/mvt/readMvtField.js +17 -17
- package/src/mvt/readMvtGeometry.js +42 -42
- package/src/mvt/readMvtInteger.js +22 -22
- package/src/mvt/readMvtKnownValue.js +30 -30
- package/src/mvt/readMvtLayer.js +40 -40
- package/src/mvt/readMvtMessage.js +18 -18
- package/src/mvt/readMvtNumber.js +18 -18
- package/src/mvt/readMvtNumbers.js +18 -18
- package/src/mvt/readMvtString.js +14 -14
- package/src/mvt/readMvtValue.js +29 -29
- package/src/mvt/skipMvtField.js +22 -22
- package/src/mvt/sortMvtActiveEdges.js +20 -20
- package/src/mvt/sortedMvtLevels.js +29 -29
- package/src/mvt/takeMvtBytes.js +18 -18
- package/src/mvt/tessellateVectorRings.js +26 -26
- package/src/mvt/triangulateVectorRings.js +23 -23
- package/src/native/beforeNativeRender.js +21 -21
- package/src/native/bypassNativeEvent.js +21 -21
- package/src/native/canScaleNativeStyle.js +26 -26
- package/src/native/compareNativeHits.js +10 -10
- package/src/native/createNativeMesh.js +46 -46
- package/src/native/forwardNativeError.js +8 -8
- package/src/native/getGridTerrainTile.js +47 -47
- package/src/native/gridTerrainElevation.js +34 -34
- package/src/native/isCurrentNativeLayer.js +11 -11
- package/src/native/loadGridTerrain.js +36 -36
- package/src/native/nativeEventSource.js +27 -27
- package/src/native/nativeProgram.js +28 -28
- package/src/native/nativeTerrainElevation.js +27 -27
- package/src/native/nativeVectorGeometry.js +30 -30
- package/src/native/orderNativeGridLayer.js +20 -20
- package/src/native/prepareGridTerrainRequests.js +23 -23
- package/src/native/pruneNativeResources.js +25 -25
- package/src/native/readyNativeGPU.js +13 -13
- package/src/native/rejectNativeReady.js +2 -2
- package/src/native/removeNativeEvents.js +20 -20
- package/src/native/resolveNativeReady.js +2 -2
- package/src/native/restoreNativeEvents.js +8 -8
- package/src/native/retainGridTerrain.js +15 -15
- package/src/native/styleNativeMesh.js +20 -20
- package/src/native/syncGridTile.js +28 -28
- package/src/native/syncImageOverlay.js +13 -13
- package/src/native/syncNativeStrokeAnchors.js +18 -18
- package/src/native/syncNativeStrokeZoom.js +34 -34
- package/src/native/syncTerrainGridTile.js +38 -38
- package/src/native/terrainGridMesh.js +47 -47
- package/src/native/updateNativeHover.js +15 -15
- package/src/native/updateNativeStrokeRadius.js +14 -14
- package/src/picking/hitColliderCell.js +29 -29
- package/src/picking/validateCameraInverse.js +15 -15
- package/src/projections/displayContainerPoint.js +32 -32
- package/src/projections/projectBridgePoint.js +17 -17
- package/src/projections/toPoint.js +13 -13
- package/src/projections/transformZoomAnimationPoint.js +8 -8
- package/src/projections/verticalGroundY.js +14 -14
- package/src/raster/rasterTileRange.js +32 -32
- package/src/raster/retainRasterTiles.js +21 -21
- package/src/rendering/collectVisibleMesh.js +48 -48
- package/src/rendering/compareMeshDepth.js +14 -14
- package/src/rendering/drawPipeline.js +44 -44
- package/src/rendering/nativeStrokeExpansion.js +11 -11
- package/src/rendering/prepareFrameBuffer.js +24 -24
- package/src/rendering/prepareMeshUniforms.js +36 -36
- package/src/rendering/revealRoofMesh.js +43 -43
- package/src/scene/addSceneLayer.js +24 -24
- package/src/scene/callLayer.js +34 -34
- package/src/scene/createLayer.js +13 -13
- package/src/scene/getLocation.js +12 -12
- package/src/scene/isNativeLayer.js +19 -19
- package/src/scene/removeSceneLayer.js +22 -22
- package/src/scene/reportLayerError.js +9 -9
- package/src/shaders/materialBaseShader.js +26 -26
- package/src/shaders/materialSurfaceShader.js +60 -60
- package/src/shaders/materialVertexShader.js +89 -89
- package/src/shaders/nativeStrokeShader.js +13 -13
- package/src/shaders/roofVertexShader.js +16 -16
- package/src/shadows/shadowMeshMatches.js +19 -19
- package/src/sources/buildAreaFeatures.js +23 -23
- package/src/sources/extrusionStyle.js +21 -21
- package/src/sources/featureAnchor.js +21 -21
- package/src/sources/groundOffset.js +9 -9
- package/src/sources/initVectorTiles.js +21 -21
- package/src/sources/isVectorTileSource.js +11 -11
- package/src/sources/matchesAreaTile.js +17 -17
- package/src/sources/pendingSourceAreas.js +28 -28
- package/src/sources/prepareAreaGeometryJob.js +34 -34
- package/src/sources/projectAreaPolygons.js +25 -25
- package/src/sources/readyVectorTiles.js +17 -17
- package/src/sunlight/addTimeControlToMap.js +18 -18
- package/src/sunlight/addTimeLayer.js +12 -12
- package/src/sunlight/initializeTimeControl.js +18 -18
- package/src/sunlight/onAddSun.js +37 -37
- package/src/sunlight/onAddTimeControl.js +12 -12
- package/src/sunlight/onRemoveSun.js +10 -10
- package/src/sunlight/removeSun.js +25 -25
- package/src/sunlight/removeTimeControl.js +14 -14
- package/src/sunlight/removeTimeLayer.js +11 -11
- package/src/sunlight/requestSunlightRender.js +12 -12
- package/src/sunlight/styleTimeControl.js +13 -13
- package/src/sunlight/tickSun.js +10 -10
- package/src/sunlight/updateCelestialDisc.js +23 -23
- package/src/sunlight/updateSun.js +44 -44
- package/src/sunlight/useLiveTime.js +11 -11
- package/src/sunlight/useSelectedTime.js +26 -26
- package/src/terrain/applyTerrain.js +30 -30
- package/src/terrain/copyTerrainTile.js +20 -20
- package/src/terrain/loadReadyTerrain.js +6 -6
- package/src/terrain/mapElevationOf.js +19 -19
- package/src/terrain/readBridges.js +13 -13
- package/src/terrain/readyTerrainOf.js +14 -14
- package/src/terrain/sampleTerrainTile.js +16 -16
- package/src/terrain/terrainTileQueue.js +34 -34
- package/src/textures/addImageState.js +13 -13
- package/src/textures/bindMeshTextures.js +57 -57
- package/src/textures/collectRoofTiles.js +23 -23
- package/src/textures/loadModelImage.js +29 -29
- package/src/textures/modelTextureFor.js +47 -47
- package/src/textures/prepareMeshTextures.js +31 -31
- package/src/textures/removeImageState.js +13 -13
- package/src/textures/resizeRoofTexture.js +32 -32
- package/src/textures/restoreMaterialTextures.js +22 -22
- package/src/textures/updateRoofAtlas.js +29 -29
- package/src/textures/uploadMeshTexture.js +32 -32
- package/src/textures/uploadNativeImage.js +26 -26
- package/src/textures/uploadRoofTile.js +29 -29
- package/src/traffic/createTrafficMesh.js +17 -17
- package/src/traffic/disposeTrafficObject.js +19 -19
- package/src/traffic/failTraffic.js +12 -12
- package/src/traffic/failedTrafficLoad.js +10 -10
- package/src/traffic/fetchTrafficLanes.js +21 -21
- package/src/traffic/loadedTrafficLanes.js +21 -21
- package/src/traffic/locateTraffic.js +20 -20
- package/src/traffic/moveTraffic.js +21 -21
- package/src/traffic/readyTraffic.js +10 -10
- package/src/traffic/refreshTrafficTrips.js +42 -42
- package/src/traffic/routeColor.js +13 -13
- package/src/traffic/startTraffic.js +12 -12
- package/src/traffic/trafficNow.js +15 -15
- package/src/traffic/trafficStatusText.js +13 -13
- package/src/traffic/trafficStorage.js +13 -13
- package/src/traffic/updateTraffic.js +13 -13
- package/src/traffic/updateTrafficLights.js +23 -23
- package/src/traffic/updateTrafficPose.js +15 -15
- package/src/traffic/updateTrafficTerrain.js +15 -15
- package/src/traffic/uploadTrafficLanes.js +27 -27
- package/src/transforms/composeLocalTransform.js +23 -23
- package/src/transforms/transformNativePoint.js +19 -19
- package/src/transforms/worldMatrixChanged.js +26 -26
- package/src/triangulation/clipEars.js +32 -32
- package/src/triangulation/connectHole.js +30 -30
- package/src/triangulation/cross.js +12 -12
- package/src/triangulation/equal.js +11 -11
- package/src/triangulation/intersects.js +21 -21
- package/src/triangulation/mergeHoles.js +19 -19
- package/src/triangulation/on.js +13 -13
- package/src/triangulation/polygonRings.js +22 -22
- package/src/triangulation/validateArea.js +19 -19
- package/src/utils/compareDistance.js +11 -11
- package/src/utils/yieldTask.js +12 -12
- package/src/vector-style/appendQuotedStyleCharacter.js +30 -30
- package/src/vector-style/arrayContainsRange.js +18 -18
- package/src/vector-style/evaluateBoolean.js +31 -31
- package/src/vector-style/evaluateCoalesceOrCase.js +34 -34
- package/src/vector-style/evaluateComparison.js +29 -29
- package/src/vector-style/evaluateIExpression.js +21 -21
- package/src/vector-style/evaluateInput.js +16 -16
- package/src/vector-style/evaluateInterpolate.js +36 -36
- package/src/vector-style/evaluateMatch.js +21 -21
- package/src/vector-style/evaluateMath.js +26 -26
- package/src/vector-style/evaluateMembership.js +29 -29
- package/src/vector-style/evaluateNegation.js +26 -26
- package/src/vector-style/evaluatePrimitive.js +21 -21
- package/src/vector-style/evaluateStep.js +20 -20
- package/src/vector-style/evaluateStyle.js +43 -43
- package/src/vector-style/evaluateToExpression.js +27 -27
- package/src/vector-style/fillVectorPaint.js +26 -26
- package/src/vector-style/lineVectorPaint.js +31 -31
- package/src/vector-style/parseFunctionalColor.js +23 -23
- package/src/vector-style/parseHexColor.js +20 -20
- package/src/vector-style/parseVectorStyle.js +20 -20
- package/src/vector-style/readPaintValue.js +17 -17
- package/src/vector-style/removeTrailingCommas.js +19 -19
- package/src/vector-style/scaleDashArray.js +25 -25
- package/src/vector-style/skipStyleComment.js +20 -20
- package/src/vector-style/stripStyleComments.js +28 -28
- package/src/vector-style/styleColor.js +18 -18
- package/src/vector-style/validateVectorLayers.js +18 -18
- package/src/vector-style/vectorPaint.js +17 -17
- package/src/vector-style/visibleStyle.js +16 -16
- package/src/vector-tiles/appendVectorBatch.js +34 -34
- package/src/vector-tiles/attachVectorTileBatch.js +25 -25
- package/src/vector-tiles/attachVectorTileBatches.js +26 -26
- package/src/vector-tiles/compareVectorLabelPriority.js +11 -11
- package/src/vector-tiles/compareVectorTileDistance.js +11 -11
- package/src/vector-tiles/createVectorLabel.js +37 -37
- package/src/vector-tiles/forwardVectorTileError.js +10 -10
- package/src/vector-tiles/loadVectorSprite.js +14 -14
- package/src/vector-tiles/loadVectorTile.js +45 -45
- package/src/vector-tiles/onVectorTileAdd.js +44 -44
- package/src/vector-tiles/onVectorTileMessage.js +15 -15
- package/src/vector-tiles/onVectorTileRemove.js +25 -25
- package/src/vector-tiles/onVectorTileWorkerError.js +16 -16
- package/src/vector-tiles/paintVectorTileBatch.js +18 -18
- package/src/vector-tiles/prepareVectorLabel.js +34 -34
- package/src/vector-tiles/prepareVectorStyleLayer.js +38 -38
- package/src/vector-tiles/prepareVectorTile.js +29 -29
- package/src/vector-tiles/projectVectorPaths.js +25 -25
- package/src/vector-tiles/projectVectorPoint.js +15 -15
- package/src/vector-tiles/projectVectorTriangles.js +28 -28
- package/src/vector-tiles/pruneVectorTiles.js +14 -14
- package/src/vector-tiles/pumpVectorTiles.js +21 -21
- package/src/vector-tiles/readTileJSON.js +27 -27
- package/src/vector-tiles/readVectorStyle.js +28 -28
- package/src/vector-tiles/refreshVectorTiles.js +8 -8
- package/src/vector-tiles/reserveVectorLabelCells.js +14 -14
- package/src/vector-tiles/retireVectorTileGroup.js +20 -20
- package/src/vector-tiles/revokeVectorWorkerUrl.js +14 -14
- package/src/vector-tiles/rotateVectorLabel.js +19 -19
- package/src/vector-tiles/rotateVectorLabels.js +9 -9
- package/src/vector-tiles/simplifyVectorPath.js +29 -29
- package/src/vector-tiles/updateVectorLabelMarker.js +36 -36
- package/src/vector-tiles/updateVectorLabelStyle.js +14 -14
- package/src/vector-tiles/updateVectorTileLabels.js +33 -33
- package/src/vector-tiles/updateVectorTilePaint.js +25 -25
- package/src/vector-tiles/updateVectorTiles.js +32 -32
- package/src/vector-tiles/validateVectorTileZooms.js +15 -15
- package/src/vector-tiles/vectorFeaturePaint.js +25 -25
- package/src/vector-tiles/vectorFeaturePaths.js +26 -26
- package/src/vector-tiles/vectorFeatureZoom.js +18 -18
- package/src/vector-tiles/vectorLabelAnchors.js +31 -31
- package/src/vector-tiles/vectorLabelCandidates.js +18 -18
- package/src/vector-tiles/vectorLabelCells.js +32 -32
- package/src/vector-tiles/vectorLabelIcon.js +38 -38
- package/src/vector-tiles/vectorLabelProperty.js +12 -12
- package/src/vector-tiles/vectorLabelText.js +19 -19
- package/src/vector-tiles/vectorSpriteIcon.js +19 -19
- package/src/vector-tiles/vectorStraightRun.js +23 -23
- package/src/vector-tiles/vectorStyleDependencies.js +22 -22
- package/src/vector-tiles/vectorStyleValue.js +16 -16
- package/src/vector-tiles/vectorStyleZoom.js +12 -12
- package/src/vector-tiles/vectorTileAwaited.js +17 -17
- package/src/vector-tiles/vectorTileOverlaps.js +12 -12
- package/src/vector-tiles/vectorTilePaint.js +18 -18
- package/src/vector-tiles/vectorTileSettings.js +27 -27
- package/src/vector-tiles/vectorTilesIdle.js +11 -11
- package/src/vector-tiles/vectorTolerance.js +11 -11
- package/src/vector-tiles/wrapVectorLabel.js +17 -17
- package/src/vehicles/boatModel.js +35 -35
- package/src/vehicles/busModel.js +13 -13
- package/src/vehicles/carModel.js +39 -39
- package/src/walk/initializeWalkControl.js +12 -12
- package/src/walk/isWalkBlocked.js +15 -15
- package/src/walk/landWalker.js +41 -41
- package/src/walk/moveWalker.js +37 -37
- package/src/walk/onAddWalkControl.js +40 -40
- package/src/walk/onRemoveWalkControl.js +17 -17
- package/src/walk/onWalkBlur.js +3 -3
- package/src/walk/onWalkTerrain.js +3 -3
- package/src/walk/resolveWalkerPosition.js +33 -33
- package/src/walk/stepWalkerHeight.js +18 -18
- package/src/walk/toggleWalking.js +4 -4
- package/src/walk/updateWalkerFrame.js +29 -29
- package/src/walk/updateWalkerView.js +31 -31
- package/src/weakmaps/cameraHandlersByMap.js +6 -6
- package/src/weakmaps/geometryWorkersByMap.js +6 -6
- package/src/weakmaps/nativeProgramsByRenderer.js +6 -6
- package/src/weakmaps/pathProjectionByMap.js +6 -6
- package/src/weakmaps/streamTerrainByLayer.js +6 -6
- package/src/weakmaps/streamTerrainByMap.js +6 -6
- package/src/weakmaps/sunByMap.js +6 -6
- package/src/weakmaps/vectorTileOptionsByLayer.js +6 -6
- package/src/weakmaps/vectorWorkerByLayer.js +6 -6
- package/src/weakmaps/walkByMap.js +6 -6
- package/src/weakmaps/workerMapByLayer.js +6 -6
- package/src/workers/acquireGeometryWorker.js +39 -39
- package/src/workers/buildAreaInWorker.js +24 -24
- package/src/workers/closeGeometryWorkers.js +16 -16
- package/src/workers/cogWorker.js +27 -27
- package/src/workers/createGeometryWorker.js +30 -30
- package/src/workers/geometryWorker.js +34 -34
- package/src/workers/getCogInWorker.js +18 -18
- package/src/workers/modelWorker.js +17 -17
- package/src/workers/openCogInWorker.js +22 -22
- package/src/workers/runSourceWorker.js +44 -44
- package/src/workers/settleGeometryWorker.js +16 -16
- package/src/workers/startGeometryWorker.js +23 -23
- package/src/workers/vectorTileWorker.js +15 -15
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { refreshRotateControl } from './refreshRotateControl.js';
|
|
2
|
-
|
|
3
|
-
/** Refresh the rotate control associated with this button after focus changes. */
|
|
4
|
-
export function refreshRotateFocus() {
|
|
5
|
-
refreshRotateControl.call(this._rotateControl);
|
|
1
|
+
import { refreshRotateControl } from './refreshRotateControl.js';
|
|
2
|
+
|
|
3
|
+
/** Refresh the rotate control associated with this button after focus changes. */
|
|
4
|
+
export function refreshRotateFocus() {
|
|
5
|
+
refreshRotateControl.call(this._rotateControl);
|
|
6
6
|
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { dragStates } from '../weakmaps/dragStates.js';
|
|
2
|
-
import { cameraDrags } from '../globals/cameraDrags.js';
|
|
3
|
-
import { finishCameraDrag } from './finishCameraDrag.js';
|
|
4
|
-
import { cameraDragDown } from './cameraDragDown.js';
|
|
5
|
-
import { cameraDragMove } from './cameraDragMove.js';
|
|
6
|
-
import { cameraDragEnd } from './cameraDragEnd.js';
|
|
7
|
-
import { cameraDragClick } from './cameraDragClick.js';
|
|
8
|
-
import { cameraDragContextMenu } from './cameraDragContextMenu.js';
|
|
9
|
-
import { endAllCameraDrags } from './endAllCameraDrags.js';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Finish a drag and remove its element and shared blur listeners.
|
|
13
|
-
*
|
|
14
|
-
* @param {Object} state Registered camera drag state.
|
|
15
|
-
*/
|
|
16
|
-
export function removeCameraDrag(state) {
|
|
17
|
-
finishCameraDrag(state);
|
|
18
|
-
const { element } = state;
|
|
19
|
-
element.removeEventListener('pointerdown', cameraDragDown, true);
|
|
20
|
-
element.removeEventListener('pointermove', cameraDragMove);
|
|
21
|
-
element.removeEventListener('pointerup', cameraDragEnd);
|
|
22
|
-
element.removeEventListener('pointercancel', cameraDragEnd);
|
|
23
|
-
element.removeEventListener('lostpointercapture', cameraDragEnd);
|
|
24
|
-
element.removeEventListener('click', cameraDragClick, true);
|
|
25
|
-
element.removeEventListener('contextmenu', cameraDragContextMenu);
|
|
26
|
-
dragStates.value.delete(element);
|
|
27
|
-
cameraDrags.value.delete(state);
|
|
28
|
-
if (!cameraDrags.value.size) window.removeEventListener('blur', endAllCameraDrags);
|
|
1
|
+
import { dragStates } from '../weakmaps/dragStates.js';
|
|
2
|
+
import { cameraDrags } from '../globals/cameraDrags.js';
|
|
3
|
+
import { finishCameraDrag } from './finishCameraDrag.js';
|
|
4
|
+
import { cameraDragDown } from './cameraDragDown.js';
|
|
5
|
+
import { cameraDragMove } from './cameraDragMove.js';
|
|
6
|
+
import { cameraDragEnd } from './cameraDragEnd.js';
|
|
7
|
+
import { cameraDragClick } from './cameraDragClick.js';
|
|
8
|
+
import { cameraDragContextMenu } from './cameraDragContextMenu.js';
|
|
9
|
+
import { endAllCameraDrags } from './endAllCameraDrags.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Finish a drag and remove its element and shared blur listeners.
|
|
13
|
+
*
|
|
14
|
+
* @param {Object} state Registered camera drag state.
|
|
15
|
+
*/
|
|
16
|
+
export function removeCameraDrag(state) {
|
|
17
|
+
finishCameraDrag(state);
|
|
18
|
+
const { element } = state;
|
|
19
|
+
element.removeEventListener('pointerdown', cameraDragDown, true);
|
|
20
|
+
element.removeEventListener('pointermove', cameraDragMove);
|
|
21
|
+
element.removeEventListener('pointerup', cameraDragEnd);
|
|
22
|
+
element.removeEventListener('pointercancel', cameraDragEnd);
|
|
23
|
+
element.removeEventListener('lostpointercapture', cameraDragEnd);
|
|
24
|
+
element.removeEventListener('click', cameraDragClick, true);
|
|
25
|
+
element.removeEventListener('contextmenu', cameraDragContextMenu);
|
|
26
|
+
dragStates.value.delete(element);
|
|
27
|
+
cameraDrags.value.delete(state);
|
|
28
|
+
if (!cameraDrags.value.size) window.removeEventListener('blur', endAllCameraDrags);
|
|
29
29
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Invalidate the map size associated with the first observed container.
|
|
3
|
-
*
|
|
4
|
-
* @param {Array<ResizeObserverEntry>} entries Resize observer entries.
|
|
5
|
-
*/
|
|
6
|
-
export function resizeMap(entries) {
|
|
7
|
-
entries[0]?.target._containerResizeMap.invalidateSize();
|
|
1
|
+
/**
|
|
2
|
+
* Invalidate the map size associated with the first observed container.
|
|
3
|
+
*
|
|
4
|
+
* @param {Array<ResizeObserverEntry>} entries Resize observer entries.
|
|
5
|
+
*/
|
|
6
|
+
export function resizeMap(entries) {
|
|
7
|
+
entries[0]?.target._containerResizeMap.invalidateSize();
|
|
8
8
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { cameraFocusOptions } from '../globals/cameraFocusOptions.js';
|
|
2
|
-
import { mapResetNorthPitch } from '../camera/mapResetNorthPitch.js';
|
|
3
|
-
import { mapResetNorth } from '../camera/mapResetNorth.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Reset bearing and optionally pitch from the rotate control button.
|
|
7
|
-
*
|
|
8
|
-
* @param {MouseEvent} event Button click event.
|
|
9
|
-
*/
|
|
10
|
-
export function rotateButtonClick(event) {
|
|
11
|
-
const control = this._rotateControl, map = control._map;
|
|
12
|
-
event.preventDefault();
|
|
13
|
-
if (control.options.visualizePitch) mapResetNorthPitch(map);
|
|
14
|
-
else mapResetNorth(map);
|
|
15
|
-
if (event.detail) map.getContainer().focus(cameraFocusOptions);
|
|
16
|
-
}
|
|
1
|
+
import { cameraFocusOptions } from '../globals/cameraFocusOptions.js';
|
|
2
|
+
import { mapResetNorthPitch } from '../camera/mapResetNorthPitch.js';
|
|
3
|
+
import { mapResetNorth } from '../camera/mapResetNorth.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Reset bearing and optionally pitch from the rotate control button.
|
|
7
|
+
*
|
|
8
|
+
* @param {MouseEvent} event Button click event.
|
|
9
|
+
*/
|
|
10
|
+
export function rotateButtonClick(event) {
|
|
11
|
+
const control = this._rotateControl, map = control._map;
|
|
12
|
+
event.preventDefault();
|
|
13
|
+
if (control.options.visualizePitch) mapResetNorthPitch(map);
|
|
14
|
+
else mapResetNorth(map);
|
|
15
|
+
if (event.detail) map.getContainer().focus(cameraFocusOptions);
|
|
16
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { mapSetBearing } from '../camera/mapSetBearing.js';
|
|
2
|
-
import { mapGetBearing } from '../camera/mapGetBearing.js';
|
|
3
|
-
import { mapSetPitch } from '../camera/mapSetPitch.js';
|
|
4
|
-
import { mapGetPitch } from '../camera/mapGetPitch.js';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Adjust camera angles or reset the rotate control using keyboard shortcuts.
|
|
8
|
-
*
|
|
9
|
-
* @param {KeyboardEvent} event Button key event.
|
|
10
|
-
*/
|
|
11
|
-
export function rotateButtonKeydown(event) {
|
|
12
|
-
const control = this._rotateControl, map = control._map, step = event.shiftKey ? 15 : 5;
|
|
13
|
-
if (event.key === 'ArrowLeft') mapSetBearing(map, mapGetBearing(map) - step);
|
|
14
|
-
else if (event.key === 'ArrowRight') mapSetBearing(map, mapGetBearing(map) + step);
|
|
15
|
-
else if (event.key === 'ArrowUp' && control.options.visualizePitch) mapSetPitch(map, mapGetPitch(map) + step);
|
|
16
|
-
else if (event.key === 'ArrowDown' && control.options.visualizePitch) mapSetPitch(map, mapGetPitch(map) - step);
|
|
17
|
-
else if (event.key === 'Home' || event.key === ' ') this.click();
|
|
18
|
-
else return;
|
|
19
|
-
event.preventDefault();
|
|
20
|
-
event.stopPropagation();
|
|
1
|
+
import { mapSetBearing } from '../camera/mapSetBearing.js';
|
|
2
|
+
import { mapGetBearing } from '../camera/mapGetBearing.js';
|
|
3
|
+
import { mapSetPitch } from '../camera/mapSetPitch.js';
|
|
4
|
+
import { mapGetPitch } from '../camera/mapGetPitch.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Adjust camera angles or reset the rotate control using keyboard shortcuts.
|
|
8
|
+
*
|
|
9
|
+
* @param {KeyboardEvent} event Button key event.
|
|
10
|
+
*/
|
|
11
|
+
export function rotateButtonKeydown(event) {
|
|
12
|
+
const control = this._rotateControl, map = control._map, step = event.shiftKey ? 15 : 5;
|
|
13
|
+
if (event.key === 'ArrowLeft') mapSetBearing(map, mapGetBearing(map) - step);
|
|
14
|
+
else if (event.key === 'ArrowRight') mapSetBearing(map, mapGetBearing(map) + step);
|
|
15
|
+
else if (event.key === 'ArrowUp' && control.options.visualizePitch) mapSetPitch(map, mapGetPitch(map) + step);
|
|
16
|
+
else if (event.key === 'ArrowDown' && control.options.visualizePitch) mapSetPitch(map, mapGetPitch(map) - step);
|
|
17
|
+
else if (event.key === 'Home' || event.key === ' ') this.click();
|
|
18
|
+
else return;
|
|
19
|
+
event.preventDefault();
|
|
20
|
+
event.stopPropagation();
|
|
21
21
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { L } from '../globals/L.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Create a rotate control.
|
|
5
|
-
*
|
|
6
|
-
* @param {Object} options Control options.
|
|
7
|
-
*
|
|
8
|
-
* @returns {L.Control.Rotate} New control.
|
|
9
|
-
*/
|
|
10
|
-
export function rotateControl(options) {
|
|
11
|
-
return /* alloc */ new L.Control.Rotate(options);
|
|
12
|
-
}
|
|
1
|
+
import { L } from '../globals/L.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Create a rotate control.
|
|
5
|
+
*
|
|
6
|
+
* @param {Object} options Control options.
|
|
7
|
+
*
|
|
8
|
+
* @returns {L.Control.Rotate} New control.
|
|
9
|
+
*/
|
|
10
|
+
export function rotateControl(options) {
|
|
11
|
+
return /* alloc */ new L.Control.Rotate(options);
|
|
12
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Remove this handler's Shift-wheel rotation listener. */
|
|
2
2
|
export function shiftRotateRemoveHooks() {
|
|
3
|
-
const container = this._map.getContainer();
|
|
4
|
-
container.removeEventListener('wheel', this._wheel, true);
|
|
3
|
+
const container = this._map.getContainer();
|
|
4
|
+
container.removeEventListener('wheel', this._wheel, true);
|
|
5
5
|
delete container._cameraShiftRotate;
|
|
6
6
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { mapSetBearing } from '../camera/mapSetBearing.js';
|
|
2
|
-
import { mapGetBearing } from '../camera/mapGetBearing.js';
|
|
3
|
-
import { editable } from './isEditableTarget.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Rotate the map for Shift-wheel events outside editable targets and controls.
|
|
7
|
-
*
|
|
8
|
-
* @param {WheelEvent} event Wheel event.
|
|
9
|
-
*/
|
|
10
|
-
export function shiftRotateWheel(event) {
|
|
11
|
-
const handler = this._cameraShiftRotate;
|
|
12
|
-
if (!event.shiftKey || editable(event.target) || event.target.closest('.leaflet-control')) return;
|
|
13
|
-
event.preventDefault();
|
|
14
|
-
event.stopImmediatePropagation();
|
|
15
|
-
mapSetBearing(handler._map, mapGetBearing(handler._map) + Math.sign(event.deltaY) * 5);
|
|
1
|
+
import { mapSetBearing } from '../camera/mapSetBearing.js';
|
|
2
|
+
import { mapGetBearing } from '../camera/mapGetBearing.js';
|
|
3
|
+
import { editable } from './isEditableTarget.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Rotate the map for Shift-wheel events outside editable targets and controls.
|
|
7
|
+
*
|
|
8
|
+
* @param {WheelEvent} event Wheel event.
|
|
9
|
+
*/
|
|
10
|
+
export function shiftRotateWheel(event) {
|
|
11
|
+
const handler = this._cameraShiftRotate;
|
|
12
|
+
if (!event.shiftKey || editable(event.target) || event.target.closest('.leaflet-control')) return;
|
|
13
|
+
event.preventDefault();
|
|
14
|
+
event.stopImmediatePropagation();
|
|
15
|
+
mapSetBearing(handler._map, mapGetBearing(handler._map) + Math.sign(event.deltaY) * 5);
|
|
16
16
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { L } from '../globals/L.js';
|
|
2
|
-
import { dragByHandler } from '../weakmaps/dragByHandler.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Convert this marker's drag position through the camera before invoking Leaflet's handler.
|
|
6
|
-
*
|
|
7
|
-
* @param {Object} event Marker drag event.
|
|
8
|
-
*/
|
|
9
|
-
export function cameraMarkerOnDrag(event) {
|
|
10
|
-
const map = this._marker._map;
|
|
11
|
-
const screen = L.DomUtil.getPosition(this._marker._icon).add(map._getMapPanePos());
|
|
12
|
-
const point = map.containerPointToLayerPoint(screen);
|
|
13
|
-
L.DomUtil.setPosition(this._marker._icon, point);
|
|
14
|
-
dragByHandler.get(this)._cameraOriginalOnDrag.call(this, event);
|
|
15
|
-
this._marker._setPos(point);
|
|
16
|
-
}
|
|
1
|
+
import { L } from '../globals/L.js';
|
|
2
|
+
import { dragByHandler } from '../weakmaps/dragByHandler.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Convert this marker's drag position through the camera before invoking Leaflet's handler.
|
|
6
|
+
*
|
|
7
|
+
* @param {Object} event Marker drag event.
|
|
8
|
+
*/
|
|
9
|
+
export function cameraMarkerOnDrag(event) {
|
|
10
|
+
const map = this._marker._map;
|
|
11
|
+
const screen = L.DomUtil.getPosition(this._marker._icon).add(map._getMapPanePos());
|
|
12
|
+
const point = map.containerPointToLayerPoint(screen);
|
|
13
|
+
L.DomUtil.setPosition(this._marker._icon, point);
|
|
14
|
+
dragByHandler.get(this)._cameraOriginalOnDrag.call(this, event);
|
|
15
|
+
this._marker._setPos(point);
|
|
16
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { leafletLayer } from '../globals/leafletLayer.js';
|
|
2
|
-
import { layerInitialize } from '../scene/layerInitialize.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Construct a Leaflet layer, initialize its source and run initialization hooks.
|
|
6
|
-
*
|
|
7
|
-
* @param {Object} options Layer options.
|
|
8
|
-
*
|
|
9
|
-
* @returns {L.Layer} Constructed layer.
|
|
10
|
-
*/
|
|
11
|
-
export function constructLayer(options) {
|
|
12
|
-
const layer = Reflect.construct(leafletLayer, /* alloc */ [], new.target);
|
|
13
|
-
layerInitialize.call(layer, options);
|
|
14
|
-
layer.callInitHooks();
|
|
15
|
-
return layer;
|
|
16
|
-
}
|
|
1
|
+
import { leafletLayer } from '../globals/leafletLayer.js';
|
|
2
|
+
import { layerInitialize } from '../scene/layerInitialize.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Construct a Leaflet layer, initialize its source and run initialization hooks.
|
|
6
|
+
*
|
|
7
|
+
* @param {Object} options Layer options.
|
|
8
|
+
*
|
|
9
|
+
* @returns {L.Layer} Constructed layer.
|
|
10
|
+
*/
|
|
11
|
+
export function constructLayer(options) {
|
|
12
|
+
const layer = Reflect.construct(leafletLayer, /* alloc */ [], new.target);
|
|
13
|
+
layerInitialize.call(layer, options);
|
|
14
|
+
layer.callInitHooks();
|
|
15
|
+
return layer;
|
|
16
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { L } from '../globals/L.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Obtain a compatible Leaflet class, extending it on Leaflet 1.
|
|
5
|
-
*
|
|
6
|
-
* @param {Function} parent Parent Leaflet class.
|
|
7
|
-
*
|
|
8
|
-
* @returns {Function} Parent or extended class.
|
|
9
|
-
*/
|
|
10
|
-
export function extendLeafletClass(parent) {
|
|
11
|
-
return L.version.startsWith('2.') ? parent : parent.extend(/* alloc */ {});
|
|
12
|
-
}
|
|
1
|
+
import { L } from '../globals/L.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Obtain a compatible Leaflet class, extending it on Leaflet 1.
|
|
5
|
+
*
|
|
6
|
+
* @param {Function} parent Parent Leaflet class.
|
|
7
|
+
*
|
|
8
|
+
* @returns {Function} Parent or extended class.
|
|
9
|
+
*/
|
|
10
|
+
export function extendLeafletClass(parent) {
|
|
11
|
+
return L.version.startsWith('2.') ? parent : parent.extend(/* alloc */ {});
|
|
12
|
+
}
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import { cameraViewByMap } from '../weakmaps/cameraViewByMap.js';
|
|
2
|
-
import { mapMethods } from '../globals/mapMethods.js';
|
|
3
|
-
import { radians } from '../globals/radians.js';
|
|
4
|
-
import { earthCirc } from '../globals/earthCirc.js';
|
|
5
|
-
import { mapElevationOf } from '../terrain/mapElevationOf.js';
|
|
6
|
-
import { groundBounds } from '../projections/groundBounds.js';
|
|
7
|
-
import { animationPoint } from '../projections/transformZoomAnimationPoint.js';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Extend tiled pixel bounds to include the visible footprint at cached terrain elevation extremes.
|
|
11
|
-
*
|
|
12
|
-
* @param {L.GridLayer} layer Grid layer with the tile zoom.
|
|
13
|
-
* @param {L.Bounds} result Bounds to extend in place.
|
|
14
|
-
* @param {Object} stream Terrain stream and elevation cache.
|
|
15
|
-
* @param {L.LatLng} origin Scene origin.
|
|
16
|
-
*
|
|
17
|
-
* @returns {L.Bounds} Extended bounds.
|
|
18
|
-
*/
|
|
19
|
-
export function extendTerrainPixelBounds(layer, result, stream, origin) {
|
|
20
|
-
const map = layer._map;
|
|
21
|
-
let minimum = Infinity, maximum = -Infinity, key, entry;
|
|
22
|
-
for ([key, entry] of stream.terrainCache) {
|
|
23
|
-
if (!key.startsWith(`${layer._tileZoom}/`) || !entry.range) continue;
|
|
24
|
-
minimum = Math.min(minimum, entry.range[0]);
|
|
25
|
-
maximum = Math.max(maximum, entry.range[1]);
|
|
26
|
-
}
|
|
27
|
-
if (!Number.isFinite(minimum) || !Number.isFinite(maximum)) return result;
|
|
28
|
-
const zoom = cameraViewByMap.get(map)?.zoom ?? map.getZoom();
|
|
29
|
-
const scale = map.options.crs.scale(zoom) / (earthCirc * Math.cos(origin.lat * radians));
|
|
30
|
-
const target = mapElevationOf(map, map.getCenter()) ?? 0;
|
|
31
|
-
let i, j, footprint, point, raw;
|
|
32
|
-
for (i = 0; i < 2; i++) {
|
|
33
|
-
footprint = groundBounds(map, undefined, ((i ? maximum : minimum) - target) * scale);
|
|
34
|
-
for (j = 0; j < 2; j++) {
|
|
35
|
-
point = j ? footprint.max : footprint.min;
|
|
36
|
-
raw = mapMethods.value.containerPointToLayerPoint.call(map, animationPoint(map, point, true));
|
|
37
|
-
result.extend(map.project(map.layerPointToLatLng(raw), layer._tileZoom));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
1
|
+
import { cameraViewByMap } from '../weakmaps/cameraViewByMap.js';
|
|
2
|
+
import { mapMethods } from '../globals/mapMethods.js';
|
|
3
|
+
import { radians } from '../globals/radians.js';
|
|
4
|
+
import { earthCirc } from '../globals/earthCirc.js';
|
|
5
|
+
import { mapElevationOf } from '../terrain/mapElevationOf.js';
|
|
6
|
+
import { groundBounds } from '../projections/groundBounds.js';
|
|
7
|
+
import { animationPoint } from '../projections/transformZoomAnimationPoint.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Extend tiled pixel bounds to include the visible footprint at cached terrain elevation extremes.
|
|
11
|
+
*
|
|
12
|
+
* @param {L.GridLayer} layer Grid layer with the tile zoom.
|
|
13
|
+
* @param {L.Bounds} result Bounds to extend in place.
|
|
14
|
+
* @param {Object} stream Terrain stream and elevation cache.
|
|
15
|
+
* @param {L.LatLng} origin Scene origin.
|
|
16
|
+
*
|
|
17
|
+
* @returns {L.Bounds} Extended bounds.
|
|
18
|
+
*/
|
|
19
|
+
export function extendTerrainPixelBounds(layer, result, stream, origin) {
|
|
20
|
+
const map = layer._map;
|
|
21
|
+
let minimum = Infinity, maximum = -Infinity, key, entry;
|
|
22
|
+
for ([key, entry] of stream.terrainCache) {
|
|
23
|
+
if (!key.startsWith(`${layer._tileZoom}/`) || !entry.range) continue;
|
|
24
|
+
minimum = Math.min(minimum, entry.range[0]);
|
|
25
|
+
maximum = Math.max(maximum, entry.range[1]);
|
|
26
|
+
}
|
|
27
|
+
if (!Number.isFinite(minimum) || !Number.isFinite(maximum)) return result;
|
|
28
|
+
const zoom = cameraViewByMap.get(map)?.zoom ?? map.getZoom();
|
|
29
|
+
const scale = map.options.crs.scale(zoom) / (earthCirc * Math.cos(origin.lat * radians));
|
|
30
|
+
const target = mapElevationOf(map, map.getCenter()) ?? 0;
|
|
31
|
+
let i, j, footprint, point, raw;
|
|
32
|
+
for (i = 0; i < 2; i++) {
|
|
33
|
+
footprint = groundBounds(map, undefined, ((i ? maximum : minimum) - target) * scale);
|
|
34
|
+
for (j = 0; j < 2; j++) {
|
|
35
|
+
point = j ? footprint.max : footprint.min;
|
|
36
|
+
raw = mapMethods.value.containerPointToLayerPoint.call(map, animationPoint(map, point, true));
|
|
37
|
+
result.extend(map.project(map.layerPointToLatLng(raw), layer._tileZoom));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { L } from '../globals/L.js';
|
|
2
|
-
import { leafletLayer } from '../globals/leafletLayer.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Forward initialization-hook registration to the appropriate Leaflet class.
|
|
6
|
-
*
|
|
7
|
-
* @returns {Function} This layer class.
|
|
8
|
-
*/
|
|
9
|
-
export function layerAddInitHook() {
|
|
10
|
-
leafletLayer.addInitHook.apply(this === L.Layer ? leafletLayer : this, arguments);
|
|
11
|
-
return this;
|
|
12
|
-
}
|
|
1
|
+
import { L } from '../globals/L.js';
|
|
2
|
+
import { leafletLayer } from '../globals/leafletLayer.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Forward initialization-hook registration to the appropriate Leaflet class.
|
|
6
|
+
*
|
|
7
|
+
* @returns {Function} This layer class.
|
|
8
|
+
*/
|
|
9
|
+
export function layerAddInitHook() {
|
|
10
|
+
leafletLayer.addInitHook.apply(this === L.Layer ? leafletLayer : this, arguments);
|
|
11
|
+
return this;
|
|
12
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { L } from '../globals/L.js';
|
|
2
|
-
import { leafletLayer } from '../globals/leafletLayer.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Merge options into the appropriate Leaflet layer class.
|
|
6
|
-
*
|
|
7
|
-
* @param {Object} options Default options to merge.
|
|
8
|
-
*
|
|
9
|
-
* @returns {Function} This layer class.
|
|
10
|
-
*/
|
|
11
|
-
export function layerMergeOptions(options) {
|
|
12
|
-
leafletLayer.mergeOptions.call(this === L.Layer ? leafletLayer : this, options);
|
|
13
|
-
return this;
|
|
14
|
-
}
|
|
1
|
+
import { L } from '../globals/L.js';
|
|
2
|
+
import { leafletLayer } from '../globals/leafletLayer.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Merge options into the appropriate Leaflet layer class.
|
|
6
|
+
*
|
|
7
|
+
* @param {Object} options Default options to merge.
|
|
8
|
+
*
|
|
9
|
+
* @returns {Function} This layer class.
|
|
10
|
+
*/
|
|
11
|
+
export function layerMergeOptions(options) {
|
|
12
|
+
leafletLayer.mergeOptions.call(this === L.Layer ? leafletLayer : this, options);
|
|
13
|
+
return this;
|
|
14
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { markerMethods } from '../globals/markerMethods.js';
|
|
2
|
-
import { cameraMarkerDrag } from './cameraMarkerDrag.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Initialize this marker's Leaflet interaction and camera-aware dragging.
|
|
6
|
-
*
|
|
7
|
-
* @returns {*} Original interaction initializer result.
|
|
8
|
-
*/
|
|
1
|
+
import { markerMethods } from '../globals/markerMethods.js';
|
|
2
|
+
import { cameraMarkerDrag } from './cameraMarkerDrag.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Initialize this marker's Leaflet interaction and camera-aware dragging.
|
|
6
|
+
*
|
|
7
|
+
* @returns {*} Original interaction initializer result.
|
|
8
|
+
*/
|
|
9
9
|
export function markerInitInteraction() {
|
|
10
|
-
const result = markerMethods.value._initInteraction.call(this);
|
|
11
|
-
cameraMarkerDrag.call(this);
|
|
10
|
+
const result = markerMethods.value._initInteraction.call(this);
|
|
11
|
+
cameraMarkerDrag.call(this);
|
|
12
12
|
return result;
|
|
13
13
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { L } from '../globals/L.js';
|
|
2
|
-
import { markerMethods } from '../globals/markerMethods.js';
|
|
3
|
-
import { initNativeGPU } from '../native/initNativeGPU.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Set this marker's icon and initialize GPU rendering for mapped non-DivIcon images.
|
|
7
|
-
*
|
|
8
|
-
* @param {L.Icon} icon New marker icon.
|
|
9
|
-
*
|
|
10
|
-
* @returns {*} Original Leaflet setter result.
|
|
11
|
-
*/
|
|
1
|
+
import { L } from '../globals/L.js';
|
|
2
|
+
import { markerMethods } from '../globals/markerMethods.js';
|
|
3
|
+
import { initNativeGPU } from '../native/initNativeGPU.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Set this marker's icon and initialize GPU rendering for mapped non-DivIcon images.
|
|
7
|
+
*
|
|
8
|
+
* @param {L.Icon} icon New marker icon.
|
|
9
|
+
*
|
|
10
|
+
* @returns {*} Original Leaflet setter result.
|
|
11
|
+
*/
|
|
12
12
|
export function markerSetIcon(icon) {
|
|
13
|
-
if (!(icon instanceof L.DivIcon)) icon.options.crossOrigin ||= true;
|
|
14
|
-
const result = markerMethods.value.setIcon.call(this, icon);
|
|
15
|
-
if (this._map && !(icon instanceof L.DivIcon)) initNativeGPU(this, this._map);
|
|
13
|
+
if (!(icon instanceof L.DivIcon)) icon.options.crossOrigin ||= true;
|
|
14
|
+
const result = markerMethods.value.setIcon.call(this, icon);
|
|
15
|
+
if (this._map && !(icon instanceof L.DivIcon)) initNativeGPU(this, this._map);
|
|
16
16
|
return result;
|
|
17
17
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { refreshNativeLayerContract } from '../native/refreshNativeLayerContract.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Set a marker's rotation and refresh its display and native GPU state.
|
|
5
|
-
*
|
|
6
|
-
* @param {L.Marker} marker Marker to update.
|
|
7
|
-
* @param {number} rotation Rotation value.
|
|
8
|
-
*
|
|
9
|
-
* @returns {L.Marker} The updated marker.
|
|
10
|
-
*
|
|
11
|
-
* @throws {TypeError} If the rotation is not finite.
|
|
12
|
-
*/
|
|
13
|
-
export function markerSetRotation(marker, rotation) {
|
|
14
|
-
if (!Number.isFinite(rotation)) throw /* alloc */ new TypeError('Marker rotation must be finite');
|
|
15
|
-
marker.options.rotation = rotation;
|
|
16
|
-
marker.update();
|
|
17
|
-
refreshNativeLayerContract(marker);
|
|
18
|
-
return marker;
|
|
19
|
-
}
|
|
1
|
+
import { refreshNativeLayerContract } from '../native/refreshNativeLayerContract.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Set a marker's rotation and refresh its display and native GPU state.
|
|
5
|
+
*
|
|
6
|
+
* @param {L.Marker} marker Marker to update.
|
|
7
|
+
* @param {number} rotation Rotation value.
|
|
8
|
+
*
|
|
9
|
+
* @returns {L.Marker} The updated marker.
|
|
10
|
+
*
|
|
11
|
+
* @throws {TypeError} If the rotation is not finite.
|
|
12
|
+
*/
|
|
13
|
+
export function markerSetRotation(marker, rotation) {
|
|
14
|
+
if (!Number.isFinite(rotation)) throw /* alloc */ new TypeError('Marker rotation must be finite');
|
|
15
|
+
marker.options.rotation = rotation;
|
|
16
|
+
marker.update();
|
|
17
|
+
refreshNativeLayerContract(marker);
|
|
18
|
+
return marker;
|
|
19
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { L } from '../globals/L.js';
|
|
2
|
-
import { pathProjectionByMap } from '../weakmaps/pathProjectionByMap.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Project a native path using a temporary renderer view when required by Leaflet 2.
|
|
6
|
-
*
|
|
7
|
-
* @param {L.Path} source Path to project.
|
|
8
|
-
*
|
|
9
|
-
* @returns {*} Original projection result on Leaflet 1.
|
|
10
|
-
*/
|
|
11
|
-
export function projectNativePath(source) {
|
|
12
|
-
if (!L.version.startsWith('2.')) return source._project();
|
|
13
|
-
const map = source._map, renderer = source._renderer;
|
|
14
|
-
let projection = pathProjectionByMap.get(map);
|
|
15
|
-
if (!projection) {
|
|
16
|
-
// Leaflet 2 projects against a renderer view, even when no DOM renderer is mounted.
|
|
17
|
-
projection = Object.create(L.Renderer.prototype);
|
|
18
|
-
projection._map = map;
|
|
19
|
-
pathProjectionByMap.set(map, projection);
|
|
20
|
-
}
|
|
21
|
-
projection._pathZoom = map.getZoom();
|
|
22
|
-
projection._pathOrigin = map.getPixelOrigin();
|
|
23
|
-
source._renderer = projection;
|
|
24
|
-
try {
|
|
25
|
-
source._project();
|
|
26
|
-
} finally {
|
|
27
|
-
if (renderer) source._renderer = renderer;
|
|
28
|
-
else delete source._renderer;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
1
|
+
import { L } from '../globals/L.js';
|
|
2
|
+
import { pathProjectionByMap } from '../weakmaps/pathProjectionByMap.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Project a native path using a temporary renderer view when required by Leaflet 2.
|
|
6
|
+
*
|
|
7
|
+
* @param {L.Path} source Path to project.
|
|
8
|
+
*
|
|
9
|
+
* @returns {*} Original projection result on Leaflet 1.
|
|
10
|
+
*/
|
|
11
|
+
export function projectNativePath(source) {
|
|
12
|
+
if (!L.version.startsWith('2.')) return source._project();
|
|
13
|
+
const map = source._map, renderer = source._renderer;
|
|
14
|
+
let projection = pathProjectionByMap.get(map);
|
|
15
|
+
if (!projection) {
|
|
16
|
+
// Leaflet 2 projects against a renderer view, even when no DOM renderer is mounted.
|
|
17
|
+
projection = Object.create(L.Renderer.prototype);
|
|
18
|
+
projection._map = map;
|
|
19
|
+
pathProjectionByMap.set(map, projection);
|
|
20
|
+
}
|
|
21
|
+
projection._pathZoom = map.getZoom();
|
|
22
|
+
projection._pathOrigin = map.getPixelOrigin();
|
|
23
|
+
source._renderer = projection;
|
|
24
|
+
try {
|
|
25
|
+
source._project();
|
|
26
|
+
} finally {
|
|
27
|
+
if (renderer) source._renderer = renderer;
|
|
28
|
+
else delete source._renderer;
|
|
29
|
+
}
|
|
30
|
+
}
|
package/src/core/redrawPath.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { refreshNativeLayerContract } from '../native/refreshNativeLayerContract.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Refresh this native path's GPU rendering.
|
|
5
|
-
*
|
|
6
|
-
* @returns {L.Path} This path.
|
|
7
|
-
*/
|
|
8
|
-
export function redrawPath() {
|
|
9
|
-
refreshNativeLayerContract(this);
|
|
10
|
-
return this;
|
|
11
|
-
}
|
|
1
|
+
import { refreshNativeLayerContract } from '../native/refreshNativeLayerContract.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Refresh this native path's GPU rendering.
|
|
5
|
+
*
|
|
6
|
+
* @returns {L.Path} This path.
|
|
7
|
+
*/
|
|
8
|
+
export function redrawPath() {
|
|
9
|
+
refreshNativeLayerContract(this);
|
|
10
|
+
return this;
|
|
11
|
+
}
|