我有一個要使用用戶輸入和幾何服務進行緩衝的功能層。ESRI JS API - 緩衝區FeatureLayer
FeatureLayer:
var texasPipeline = new FeatureLayer(pipeURL, {
mode: FeatureLayer.MODE_ONDEMAND,
outFields: ["*"],
definitionExpression:texasPipeQuery
});
的BufferParameters:
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);
}
其400錯誤..無法完成操作。 – LCaraway
得到愛Esri的有用的錯誤消息:(。我添加了一個適用於我的例子,儘量匹配最好的,如果你這樣做,並且stlil看到一個400錯誤,可能是有一個幾何問題您的要素圖層,請嘗試使用簡單點發送它,或者先使用幾何服務簡化方法來簡化它,在此函數中,我傳入ArcGIS Point和50作爲我的半徑。 –