1.0.2 • Published 2 years ago
功能
传入新老数据,自动对比新老数据变化部分,从而达到只更新变化的marker,而不是全部重绘
引入
import 'leafletMarkerRefreshPlugin' //注意:需要在引入了leaflet之后再引入该插件
使用
const newData = L.refreshMarkers(options)
// 调用后,会返回处理过后的新数据,应保存,下一次调用作为旧数据传入
options
| 参数 | 描述 | 必传 | 类型 |
|---|
| oldData | 旧数据 | 是 | IOldData[] |
| newData | 新数据 | 是 | INewData[] |
| compareStr | 要对比的字段 | 是 | string[] |
| markerFn | 构造marker的回调 | 是 | () => leafletMarker |
| isCluster | 是否使用了聚合 | 否 | boolean |
| clusterFn | 构造聚合的回调 | 否(若isCluster为true,则必传) | () => leafletCluster |
| map | leaflet地图 | 是 | leafletMap |
IOldData
| 参数 | 描述 | 必传 | 类型 |
|---|
| id | 主键 | 是 | any |
| markerIns | leaflet的marker实例 | 是 | leafletMarker |
| clusterIns | leaflet的聚合实例 | 否(若isCluster为true,则必传) | leafletCluster |
| clusterName | 聚合的名称 | 否(若isCluster为true,则必传) | string |
INewData
| 参数 | 描述 | 必传 | 类型 |
|---|
| id | 主键 | 是 | any |
| clusterName | 聚合的名称 | 否(若isCluster为true,则必传) | string |