L'exigence consiste à ajouter une nouvelle fonctionnalité à partir du sélecteur de modèle, mais sans l'appliquer, puis-je afficher l'inspecteur d'attributs que enregistrer la fonctionnalité. Ce modèle sélectionné est ensuite sélectionné pour placer les points sur la carte plutôt que d'ouvrir l'inspecteur d'attributs en le sélectionnant.Afficher l'inspecteur d'attributs sans enregistrer une nouvelle fonctionnalité
selectedTemplate.featureLayer.applyEdits([newGraphic], null, null);
Exemple de code Bloc:
dojo.connect(drawToolbar, "onDrawEnd", function(geometry) {
//display the editable info window for newly created features
if (map.infoWindow.isShowing) {
map.infoWindow.hide();
}
drawToolbar.deactivate();
var fieldAttributes = layerFieldToAttributes(selectedTemplate.featureLayer.fields);
var newAttributes = dojo.mixin(fieldAttributes, selectedTemplate.template.prototype.attributes);
var newGraphic = new esri.Graphic(geometry, null, newAttributes);
var layerInfos = [{
'featureLayer': selectedTemplate.featureLayer,
'isEditable': true
}];
var attInspector = new esri.dijit.AttributeInspector({
layerInfos: layerInfos
}, dojo.create("div"));
selectedTemplate.featureLayer.applyEdits([newGraphic], null, null, function() {
var screenPoint = map.toScreen(getInfoWindowPositionPoint(newGraphic));
map.infoWindow.setContent(attInspector.domNode);
map.infoWindow.resize(325, 185);
map.infoWindow.show(screenPoint, map.getInfoWindowAnchor(screenPoint));
templatePicker.clearSelection();
});
dojo.connect(attInspector, "onAttributeChange", function(feature, fieldName, newFieldValue) {
feature.attributes[fieldName] = newFieldValue;
feature.getLayer().applyEdits(null, [feature], null);
});
dojo.connect(attInspector, "onDelete", function(feature) {
feature.getLayer().applyEdits(null, null, [feature]);
map.infoWindow.hide();
});
});
}
Je voudrais d'abord ajouter mon client l'attribut caractéristique et (sauf & appliquer) il.
Toute aide serait appréciée.
Voici l'exemple de projet: https://www.dropbox.com/s/fh71g1k9nsa70nq/index-2.html.zip?dl=0