Skip to content

Commit 2a4ac74

Browse files
committed
【feature】l7layer 兼容判断
1 parent 2629f4f commit 2a4ac74

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

src/mapboxgl/overlay/L7Layer.js

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -156,14 +156,18 @@ export class L7Layer extends CustomOverlayLayer {
156156
const { filter } = this.l7layer.rawConfig;
157157
let { field: filterFields = [], values } = getL7Filter(filter, this.id) || {};
158158
if (!filterFields.length && this.selectedDatas[0]) {
159-
filterFields = Object.keys(this.selectedDatas[0].properties);
159+
filterFields = Object.keys(this.selectedDatas[0].properties || {});
160160
}
161161
const fields = filterFields;
162-
const transformFilterValuesFn = this._transformFilterValues.bind(this, { fields, values, selectedDatas: this.selectedDatas });
162+
const transformFilterValuesFn = this._transformFilterValues.bind(this, {
163+
fields,
164+
values,
165+
selectedDatas: this.selectedDatas
166+
});
163167
return {
164168
field: fields,
165169
values: transformFilterValuesFn
166-
}
170+
};
167171
}
168172

169173
setFilter(filter) {
@@ -321,7 +325,7 @@ export class L7Layer extends CustomOverlayLayer {
321325
const features = cacheFeatures.filter(
322326
(item) =>
323327
(!item[featureId] || !mvtDatas.some((feature) => feature[featureId] === item[featureId])) &&
324-
(!item.properties[featureId] ||
328+
(!(item.properties || {})[featureId] ||
325329
!mvtDatas.some((feature) => feature.properties[featureId] === item.properties[featureId]))
326330
);
327331
mvtDatas.push(...features);
@@ -367,11 +371,14 @@ export class L7Layer extends CustomOverlayLayer {
367371

368372
_transformFilterValues(options, ...args) {
369373
const { fields, values, selectedDatas } = options;
370-
const argValues = args.filter(item => item !== void 0);
371-
const selectedValues = selectedDatas.map(feature => {
372-
return fields.map(name => (feature.properties || {})[name]).filter(item => item !== void 0);
374+
const argValues = args.filter((item) => item !== void 0);
375+
const selectedValues = selectedDatas.map((feature) => {
376+
return fields.map((name) => (feature.properties || {})[name]).filter((item) => item !== void 0);
373377
});
374-
return (!values || values(...args)) && !selectedValues.some(values => JSON.stringify(values) === JSON.stringify(argValues));
378+
return (
379+
(!values || values(...args)) &&
380+
!selectedValues.some((values) => JSON.stringify(values) === JSON.stringify(argValues))
381+
);
375382
}
376383
}
377384

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy