работаю в связке geoserver+openlayers
работаю с шейп файлами из примеров geoserver
возник вопрос: как можно добавить атрибуты во вновь созданный объект WFS?
Код: Выделить всё
<script type="text/javascript">
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
var map;
function init(){
map = new OpenLayers.Map('map');
var political = new OpenLayers.Layer.WMS(
"Манхеттен",
"http://127.0.0.1:8080/geoserver/wms",
{layers: 'tiger:poly_landmarks',
format: 'image/png'}
);
var roads = new OpenLayers.Layer.WMS(
"дороги",
"http://127.0.0.1:8080/geoserver/wms",
{layers: 'tiger:tiger_roads',
transparent:true,
format: 'image/png'}
);
var places = new OpenLayers.Layer.WFS(
"Местечки",
"http://127.0.0.1:8080/geoserver/wfs",
{typename: 'tiger:poi'},
{
typename: 'poi',
featureNS: 'http://www.census.gov',
extractAttributes: true
}
);
places.style = OpenLayers.Util.applyDefaults({strokeColor: "#ff0000"},
OpenLayers.Feature.Vector.style["default"]);
map.addLayers([political,places]);
var panel = new OpenLayers.Control.Panel(
{displayClass: 'olControlEditingToolbar'}
);
var drawPoint = new OpenLayers.Control.DrawFeature(
places, OpenLayers.Handler.Point,
{displayClass: 'olControlDrawFeaturePoint'}
);
drawPoint.featureAdded = function(feature) {
feature.layer.eraseFeatures([feature]);
// cast to multipoint
feature.geometry = new OpenLayers.Geometry.MultiPoint(
feature.geometry
);
feature.style.strokeColor = "#ff000f";
feature.state = OpenLayers.State.INSERT;
feature.layer.drawFeature(feature);
}
panel.addControls(
[new OpenLayers.Control.Navigation(), drawPoint]
);
map.addControl(panel);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToExtent(
new OpenLayers.Bounds(-74.047185, 40.679648,
-73.907005, 40.882078)
);
}
</script>