Я последовал за https://corteva.github.io/djangorestframework-mvt/html/index.html для обслуживания векторных листов для приложения Geo django. Как упоминалось в документации, фильтр для векторной плитки может быть выполнен как:
GET api/v1/data/example.mvt?tile=1/0/0&my_column=foo HTTP/1.1
Теперь я хочу получить векторные плитки для запроса, например,
api/v1/data/example.mvt?tile=1/0/0&my_column__in=foo,foo1,foo2
, но я не удалось получить результаты с этим утверждением. Я использую OpenLayers для визуализации результатов. пример кода, используемый для этого действия:
var urlFilter = '/api/v1/data/house.mvt?tile={z}/{x}/{y}&houseId__in=547090906080,547090105191';
var vectorHouse = new ol.layer.VectorTile({
declutter: true,
// style:simpleStyle,
source: new ol.source.VectorTile({
// tilePixelRatio: 20, // oversampling when > 1
tileGrid: ol.tilegrid.createXYZ({maxZoom: 24}),
// projection: 'EPSG:3857',
format: new ol.format.MVT(),
url: urlFilter
})
});
spatialMap.addLayer(vectorHouse);
Примечание: у меня нет проблем с фильтром для отдельных значений, эту задачу можно просто выполнить, но проблема в том, что мне нужно иметь фильтр с несколькими значениями с помощью оператора «In».