Thanks to Arnd and Dane, this is what works:
I first create the layer:
function cropsreturn(cropsresponse) {
crop_style.strokeColor = "#ff0000";
if (cropsresponse.responseText.indexOf('Error') != -1) {
window.alert("no crops");
crops = new OpenLayers.Layer.Vector("Crop areas",
{isBaseLayer: false,
style: crop_style,
extractAttributes: true });
map.addLayer(crops);
map.zoomToMaxExtent();
}
else {
crops = new OpenLayers.Layer.Vector("Crop areas",
{isBaseLayer: false,
style: crop_style,
extractAttributes: true });
crops.addFeatures(geojson_format.read(cropsresponse.responseText));
map.addLayer(crops);
map.zoomToExtent(crops.getDataExtent());
}
}
//later:
crops.onFeatureInsert = function(feature) {
feature.attributes.prop0 = 'new'; //This should be modified to
get actual primary key
window.alert("New crop area inserted");
}
Robert
>>> "Arnd Wippermann" <[EMAIL PROTECTED]> 16/10/2008 6:44 a.m. >>>
Hi Robert,
perhaps this is a way
register 'featureadded' for the vector layer
* - *featureadded* Triggered after a feature is added. The event
* object passed to listeners will have a *feature* property with a
* reference to the added feature.
crop_layer.events.register('featureadded', crop_layer, regFeatureAdded);
function regFeatureAdded()
{
this.attributes['name'] = 'name';
this.attributes['description'] = 'description';
}
but I have it not tested.
Arnd Wippermann
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Robert Sanson
Gesendet: Mittwoch, 15. Oktober 2008 05:46
An: [email protected]
Betreff: [OpenLayers-Users] Adding an attribute field to a vector layer
I am developing an application that allows a user to digitise crop areas. The
areas created will then be uploaded to a SQL-server database via a geoJSON
string sent to a ColdFusion service.
How can I specify one or more attribute fields?
I am using the following construct:
var crop_layer = new OpenLayers.Layer.Vector();
map.addLayer(crop_layer);
Many thanks,
Robert Sanson
------------------------------------------------------------------
The contents of this email are confidential to AsureQuality. If you have
received this communication in error please notify the sender immediately and
delete the message and any attachments. The opinions expressed in this email
are not necessarily those of AsureQuality. This message has been scanned for
known viruses before delivery. AsureQuality supports the Unsolicited Electronic
Messages Act 2007. If you do not wish to receive similar communications in
future, please notify the sender of this message.
------------------------------------------------------------------
This message has been scanned for malware by SurfControl plc.
www.surfcontrol.com ( http://www.surfcontrol.com/ )
Click here (
https://www.mailcontrol.com/sr/4agG!UriteLTndxI!oX7Uk5xG16jLorQQdHcnaqaSdCccDFHLAbYsv!kKJyfABBkPcDY0etAPoqtoBNtFUgrMg==
) to report this email as spam.
------------------------------------------------------------------
The contents of this email are confidential to AsureQuality. If you have
received this communication in error please notify the sender immediately and
delete the message and any attachments. The opinions expressed in this email
are not necessarily those of AsureQuality. This message has been scanned for
known viruses before delivery. AsureQuality supports the Unsolicited Electronic
Messages Act 2007. If you do not wish to receive similar communications in
future, please notify the sender of this message.
------------------------------------------------------------------
_______________________________________________
Users mailing list
[email protected]
http://openlayers.org/mailman/listinfo/users