Ich habe einen Feature-Layer, den ich mit Benutzereingabe und einem Geometriedienst puffern möchte.ESRI JS API - Puffer 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);
der Server einen Fehler zurückgibt verständlich Geometrien zugeführt werden muss. Meine Vermutung ist, dass ich die Geometrie der FeatureLayer im Gegensatz zur FeatureLayer selbst übergeben muss. Wie bekomme ich die Geometrien der FeatureLayer und gebe diese entsprechend in die BufferParameters?
EDIT: Zusätzlich habe ich versucht, durchschleifen, wie Sie im Code unten sehen können. Übergeben des Arrays von Geometrien in den BufferParameters wird weiterhin nicht erfolgreich zurückgegeben.
var texasPipelineGeom = [];
var graphics = texasPipeline.graphics;
for (var G in graphics) {
var g = graphics[G]["geometry"];
console.log(g);
texasPipelineGeom.push(g);
}
es ist ein Fehler 400 .. kann den Vorgang nicht abschließen. – LCaraway
Ich liebe Esris hilfreiche Fehlermeldungen :(. Ich habe ein Beispiel hinzugefügt, das für mich funktioniert, versuche, das bestmögliche zu finden. Wenn du einen 400-Fehler siehst und siehst, kann es sein, dass es ein Problem mit der Geometrie gibt versuchen Sie es mit einem einfachen Punkt, oder vereinfachen Sie es zuerst mit der vereinfachten Methode der Geometriedienste.In dieser Funktion gebe ich einen ArcGIS-Punkt und 50 als Radius ein. –