ユーザー入力とジオメトリサービスを使用してバッファリングするFeature Layerがあります。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のジオメトリをどのように取得し、適切に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の役立つエラーメッセージが大好きです:(私は私のために働く例を追加しました。最高のものを試してみてください。400エラーが表示されたら、ジオメトリに問題があるかもしれません。あなたのフィーチャレイヤーを単純なポイントで送信するか、最初にジオメトリサービスで単純化してメソッドを単純化してみてください。この関数では、ArcGISポイントと50を自分の半径として渡します。 –