У меня есть векторный слой, который я хотел бы буферизовать, используя пользовательский ввод и сервис геометрии.
FeatureLayer:
var texasPipeline = new FeatureLayer(pipeURL, {
mode: FeatureLayer.MODE_ONDEMAND,
outFields: ["*"],
definitionExpression:texasPipeQuery
});
Параметры буфера:
var params = new BufferParameters();
params.distances = [distance];
params.unit = units;
params.outSpatialReference = map.spatialReference;
params.geometries = texasPipeline;
map.graphics.clear();
geomSvc.buffer(params, showBuffer);
Сервер возвращает ошибку о том, что необходимо предоставить геометрию. Я предполагаю, что мне нужно передать геометрию FeatureLayer, а не сам FeatureLayer. Как получить геометрию FeatureLayer и правильно передать ее в BufferParameters??
РЕДАКТИРОВАТЬ: Кроме того, я попытался выполнить цикл, как вы можете видеть в приведенном ниже коде. передача массива геометрий в BufferParameters по-прежнему не завершается успешно.
var texasPipelineGeom = [];
var graphics = texasPipeline.graphics;
for (var G in graphics) {
var g = graphics[G]["geometry"];
console.log(g);
texasPipelineGeom.push(g);
}