Проблема Mapbox с фильтрацией слоев с использованием массива значений ⇐ Javascript
Проблема Mapbox с фильтрацией слоев с использованием массива значений
У меня возникли проблемы с фильтрацией слоя разговоров. Кажется, он работает нормально на слое маршрутов, хотя кажется, что свойства route_long_name существуют на обоих слоях, и когда я вручную фильтрую объекты, они фильтруются просто отлично. Это я только не понимаю фильтры на карте
const filterExpression = filter.routes.length > 0? [ 'соответствовать', ['получить', 'длинное_имя_маршрута'], маршруты, истинный, ЛОЖЬ ] : неопределенный; это отлично работает на слое маршрута, но когда я использую его на слое маршрута с типом
Функция< МультилинияСтрока, { tc_agency_id: строка; Route_id: строка; Route_long_name: строка; shape_id: строка; возможности: GeoJSON.Point[]; } но не на уровне разговора
Функция< Точка, { tc_agency_id: строка; Route_id: строка; Route_long_name: строка; стоп_ид: строка; имя_остановки: строка; } >[]; Странно то, что все работает нормально, когда я фильтрую функции вручную
console.log({ источник разговора: source._data.features.filter(item => маршруты.includes(item.properties.route_long_name)), источник маршрута: Routesource._data.features.filter(item => маршруты.includes(item.properties.route_long_name)) })} полный фрагмент
const маршруты = filter.routes.map(el => el.routeLongName); const filterExpression = filter.routes.length > 0? [ 'соответствовать', ['получить', 'длинное_имя_маршрута'], маршруты, истинный, ЛОЖЬ ] : неопределенный; константный источник = mapbox.map.getSource(MapSources.conversationsSource) constroutesource = mapbox.map.getSource(MapSources.routesSource) если (источник && источник маршрута) { консоль.log({ источник: source._data.features.filter(item => маршруты.includes(item.properties.route_long_name)), источник маршрута: Routesource._data.features.filter(item => маршруты.includes(item.properties.route_long_name)) }) } for (const LayerId of [MapLayers.routesLayer, MapLayers.conversationsLayer]) { если (mapbox.map.getLayer(layerId)) { mapbox.map.setFilter(layerId, filterExpression) } }
У меня возникли проблемы с фильтрацией слоя разговоров. Кажется, он работает нормально на слое маршрутов, хотя кажется, что свойства route_long_name существуют на обоих слоях, и когда я вручную фильтрую объекты, они фильтруются просто отлично. Это я только не понимаю фильтры на карте
const filterExpression = filter.routes.length > 0? [ 'соответствовать', ['получить', 'длинное_имя_маршрута'], маршруты, истинный, ЛОЖЬ ] : неопределенный; это отлично работает на слое маршрута, но когда я использую его на слое маршрута с типом
Функция< МультилинияСтрока, { tc_agency_id: строка; Route_id: строка; Route_long_name: строка; shape_id: строка; возможности: GeoJSON.Point[]; } но не на уровне разговора
Функция< Точка, { tc_agency_id: строка; Route_id: строка; Route_long_name: строка; стоп_ид: строка; имя_остановки: строка; } >[]; Странно то, что все работает нормально, когда я фильтрую функции вручную
console.log({ источник разговора: source._data.features.filter(item => маршруты.includes(item.properties.route_long_name)), источник маршрута: Routesource._data.features.filter(item => маршруты.includes(item.properties.route_long_name)) })} полный фрагмент
const маршруты = filter.routes.map(el => el.routeLongName); const filterExpression = filter.routes.length > 0? [ 'соответствовать', ['получить', 'длинное_имя_маршрута'], маршруты, истинный, ЛОЖЬ ] : неопределенный; константный источник = mapbox.map.getSource(MapSources.conversationsSource) constroutesource = mapbox.map.getSource(MapSources.routesSource) если (источник && источник маршрута) { консоль.log({ источник: source._data.features.filter(item => маршруты.includes(item.properties.route_long_name)), источник маршрута: Routesource._data.features.filter(item => маршруты.includes(item.properties.route_long_name)) }) } for (const LayerId of [MapLayers.routesLayer, MapLayers.conversationsLayer]) { если (mapbox.map.getLayer(layerId)) { mapbox.map.setFilter(layerId, filterExpression) } }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение