1.0.2 • Published 10 months ago
Last release10 months 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 |