npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

micro-layer

v1.3.5

Published

npm i micro-layer

Readme

使用

npm i micro-layer

引入

import {GridLayer,Tile,getGridThinData...} from 'micro-layer'
或
import GridLayer from 'micro-layer/dist/layers/GridLayer'

色斑图 IsoLayer

const isoLayer = new IsoLayer(map,option)
isoLayer.setData(...)
isoLayer.Draw()
...

初始化时可配置项

| 名称 | 描述 | 默认值 | 值类型 | | ------------ | ------------ | ------------ | ------------ | | el | 是否挂载到单独的某个html元素上 | | HTMLElement | | className | 类名 | | string | | pane | 选择加入的地图层级,默认overlayPane | | 参考leaflet | | clip | 裁剪,需提供geoJson类型数组 | clip | FeatureCollection,null | | moveType | 色斑图跟随地图移动类型 |moveend | move,moveend |

setOption可配置项

| 名称 | 描述 | 默认值 | 值类型 | | ------------ | ------------ | ------------ | ------------ | | opacity | 透明度 | 0.5 | number | | stroke | 是否描边(等值线) | true | boolean | | lineWidth | 描边线宽 | 2 | number | | strokeOpacity | 描边透明度,会覆盖默认透明度 | | number | | dash | 描边时绘制虚线间隔数组 | false | boolean | | fill | 是否填充(色斑图) | true | boolean | | fillOpacity | 填充透明度,会覆盖默认透明度 | | boolean | | lineType | 线段类型,可选曲线curve或直线straight默认曲线,rect可绘制雷达图 |curve | curve,straight,rect | | clipType | 裁剪类型,精细化裁剪或模糊裁剪 | fuzzy | fine,fuzzy | | smooth | 设置是否在生成等值线时使用线性插值,重新设置setData后生效 | true | boolean |

方法

| 名称 | 描述 | 值类型 | | ------------ | ------------ | ------------ | | setOption | 重设canvas的各项参数 | Option | | setData | 设置图层数据 | data: Array,property: { value: number[];color: string[]; lonStep: number;latStep: number; size: [number, number]; border: Border;} | | Draw | 绘制 | | | setClip | 设置/重设裁剪范围 | FeatureCollection , null | | clear | 清空绘制内容 | | | destroy | 销毁图层 | | | on | 监听点击事件 | type:click,callback:function |

格点图层 GridLayer

const gridLayer = new GridLayer(map,option)
gridLayer.setData(...)
gridLayer.Draw()
...

初始化时可配置项

| 名称 | 描述 | 默认值 | 值类型 | | ------------ | ------------ | ------------ | ------------ | | el | 是否挂载到单独的某个html元素上 | | HTMLElement | | className | 类名 | | string | | pane | 选择加入的地图层级,默认overlayPane | | 参考leaflet | | clip | 裁剪,需提供geoJson类型数组 | clip | FeatureCollection,null | | moveType | 色斑图跟随地图移动类型 |moveend | move,moveend |

setOption可配置项

| 名称 | 描述 | 默认值 | 值类型 | | ------------ | ------------ | ------------ | ------------ | | opacity | 透明度 | 0.5 | number | | color | 格点字体颜色,设为auto并有图例时会随着图例变化 | black | string | | xInterval | 格点字体间的最小间距,与格点的抽稀相关(单位:像素) | 50 | number | | yInterval | 格点字体间的最小间距,与格点的抽稀相关(单位:像素) | 50 | number | | format | 格点数据格式化 | Math.floor | (value: number) => string | | context | 自定义context的部分参数 需要返回context实例 | | function | | showRect | 是否展示格点方块 | false | boolean | | rectColor | 格点方块颜色 | black | string | | rectOpacity | 格点方块透明度 | 0.2 | number |

方法

| 名称 | 描述 | 值类型 | | ------------ | ------------ | ------------ | | setOption | 重设canvas的各项参数 | Option | | setData | 设置图层数据 | data: Array,property: { value: number[];color: string[]; lonStep: number;latStep: number; size: [number, number]; border: Border;} | | Draw | 绘制 | | | setClip | 设置/重设裁剪范围 | FeatureCollection , null | | clear | 清空绘制内容 | | | destroy | 销毁图层 | | | on | 监听点击事件 | type:click,callback:function |

2d风向标图层 WindFeatherLayer2D

const featherLayer = new featherLayer(map,option)
featherLayer.setData(...)
featherLayer.Draw()
...

初始化时可配置项

| 名称 | 描述 | 默认值 | 值类型 | | ------------ | ------------ | ------------ | ------------ | | el | 是否挂载到单独的某个html元素上 | | HTMLElement | | className | 类名 | | string | | pane | 选择加入的地图层级,默认overlayPane | | 参考leaflet | | clip | 裁剪,需提供geoJson类型数组 | clip | FeatureCollection,null | | moveType | 色斑图跟随地图移动类型 |moveend | move,moveend |

setOption可配置项

| 名称 | 描述 | 默认值 | 值类型 | | ------------ | ------------ | ------------ | ------------ | | color | 风向标颜色 | black | string | | interval | 风向标之间的最小间距,与格点的抽稀相关(单位:像素) | [30,30] | [number, number] | | size | 风向标大小-宽高(单位:像素),修改后需重新setData | [30,30] | number | | thinout | 是否进行抽稀,默认true,为数字时表示地图层级小于该数字时才抽稀 ,修改后需重新setData | true | | thinType | 点的抽稀方法,0使用 getProcessPoints抽稀,1使用getGridThinData抽稀 | 0 |0,1 |

方法

| 名称 | 描述 | 值类型 | | ------------ | ------------ | ------------ | | setOption | 重设canvas的各项参数 | Option | | setData | 设置图层数据 | data: { s: number; d: number;size?: [number, number]; color?: string;}[] ,data: { u: number; v: number;size?: [number, number]; color?: string;}[] | | Draw | 绘制 | | | setClip | 设置/重设裁剪范围 | FeatureCollection , null | | clear | 清空绘制内容 | | | destroy | 销毁图层 | | | on | 监听点击事件 | type:click,callback:function |

瓦片图层集合 Tile

包含天地图,谷歌地图,高德地图,智图的瓦片图

点图层 SimplePoints

| 名称 | 描述 | 默认值 | 值类型 | | ------------ | ------------ | ------------ | ------------ | | el | 是否挂载到单独的某个html元素上 | | HTMLElement | | className | 类名 | | string | | pane | 选择加入的地图层级,默认overlayPane | | 参考leaflet | | clip | 裁剪,需提供geoJson类型数组 | clip | FeatureCollection,null | | moveType | 图层跟随地图移动类型 |moveend | move,moveend |

setOption可配置项

| 名称 | 描述 | 默认值 | 值类型 | | ------------ | ------------ | ------------ | ------------ | | size |点-宽高 | [30,30] | [number,number] | | color | 点颜色 | black | string | | clipType | 裁剪类型,精细化裁剪或模糊裁剪,默认模糊 | fuzzy | "fine" , "fuzzy" | | stroke |是否描边 | false | boolean | | strokeWidth |描边宽 | 1 | number | | strokeColor |描边颜色 | black | string | | interval |点之间的最小间距 | [30,30] | [number,number] | | thinout | 是否进行抽稀,为数字时表示地图层级小于该数字时才抽稀 | true |boolean,number | thinType | 点的抽稀方法,0使用 getProcessPoints抽稀,1使用getGridThinData抽稀 | 0 |0,1 | | type | 描点类型'rect' , 'circle' | circle |"rect" , "circle" | | fillText | 是否绘制文字,文字内容取数组中value字段 | true |boolean | | fontSize | 文字大小 | 12 |number | | fontColor | 文字颜色 |auto |string | | format | 对点每个值进行格式化操作 | |(v:number)=>string | | img | 自定义点形状,需要能被context.drawImage解析,不受该点size以外其他参数的影响 | |CanvasImageSource | ((v?: number | string) => CanvasImageSource) |

方法

| 名称 | 描述 | 值类型 |
| ------------ | ------------ | ------------ | | setOption | 重设canvas的各项参数 | Option | | setData | 设置图层数据 | data: { s: number; d: number;size?: [number, number]; color?: string;}[] ,data: { u: number; v: number;size?: [number, number]; color?: string;}[] | | Draw | 绘制 | | | setClip | 设置/重设裁剪范围 | FeatureCollection , null | | clear | 清空绘制内容 | | | destroy | 销毁图层 | | | on | 监听点击事件 | type:click,callback:function |

方法

参考其他 Point值类型 { lat: number; lng: number; value?: number; //点的值,与color中的颜色对应 color?: string; size?: number[]; //点-宽高,默认[30,30]// type?: PointType; //点类型 }

方法

| 名称 | 描述 | 值类型 | | ------------ | ------------ | ------------ | | setOption | 重设canvas的各项参数 | Option | | setData | 设置图层数据 | Point[] | | Draw | 绘制 | | | addPoint | 不使用Draw单独添加一个点 不建议与抽稀混用 | Point | | removePoint | 不使用clear单独移除一个点 | Point | | setClip | 设置/重设裁剪范围 | FeatureCollection , null | | DrawClip | 绘制裁剪区 | | | clear | 清空绘制内容 | | | destroy | 销毁图层 | | | on | 监听点击事件 | type:click,callback:function |

瓦片图层 LevelTile

| 名称 | 描述 | 默认值 | 值类型 | | ------------ | ------------ | ------------ | ------------ | | url | 瓦片图地址 | | string | | maxLevel | 瓦片图可缩放最大层级 | 7 | number | | opacity | 透明度 | 1 | number | | 其他 | leaflet默认瓦片层配置 | | ||

抽稀方法1 getGridThinData

/**

  • 以存放格点的方式抽稀数组,适合大量数据的抽稀
  • @param points 要抽稀的点数组
  • @param interval [number,number]每个点之间的最小间隔(单位:经度/纬度) */

抽稀方法2 getProcessPoints

/**

  • 根据点之间的间隔进行抽稀,对密集的点抽稀,保持点的均匀分布。
  • @param points 要抽稀的点数组
  • @param interval [number,number]每个点之间的最小间隔(单位:经度/纬度) */