JS API ArcGIS Server содержит новый класс FeatureTable , который показывает таблицу атрибутов, соответствующую FeatureLayer. Существует опция syncSelection, которая:
Включает взаимодействие между картой и таблицей объектов. Если для этого свойства задано значение true, можно выбрать элемент на карте, щелкнув строку в таблице, и выбрать строку таблицы, щелкнув элемент на карте.
Тем не менее, это, кажется, не учитывает набор выбора, сделанный программно против слоя.
Взяв образец по адресу https://developers.arcgis.com/javascript/3/sandbox/sandbox.html?sample=featuretable , если я применяю выделение к FeatureLayer, это не отражается в FeatureTable:
// Create the feature layer
myFeatureLayer = new FeatureLayer("https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/Warren_College_Trees/FeatureServer/0", {
mode: FeatureLayer.MODE_SELECTION,
visible: true,
outFields: ["*"],
id: "fLayer"
});
var myQuery = new Query();
myQuery.where = "Spp_Code ='SABA'";
myFeatureLayer.selectFeatures(myQuery,FeatureLayer.SELECTION_NEW)
Это правильно применяет выделение к слою объектов (обратите внимание, что карта содержит только одну точку), но не к таблице объектов (в ней перечислены все 1146 точек с выбранным 0):
Есть ли способ обновить таблицу функций, чтобы отразить выбранный набор?