Re: [Portugal] Não consigo visualizar as layers WFS...
Òscar Vidal Calbet
oscarblo at gmail.com
Thu Jun 10 14:19:12 EDT 2010
Olá,
Finalmente a problema foi resolvido. Depois de ter dado tantas voltas, não
termino de perceber porque é assim, mas funciona. Basicamente, acho que era
por não ter definido correctamente as *bounds*, mas o estranho é que eu
conseguia visualizar a área correcta do mapa, se não, não tivesse conseguido
ver a *layer *WMS, eu acho.
Agradeço imenso a ajuda do Luís e do Fernando. Espero poder retornar isto
algum dia.
Segue em baixo o código final das OpenaLayers (só mostro isto porque é o
único que alterei), a cor verde identifica o código acrescentado/alterado:
<script src="http://openlayers.org/api/OpenLayers.js"></script>
<script type="text/javascript">
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
var map;
function init(){
* var bounds = new OpenLayers.Bounds(**
-119192.24, -42077.98,
-96875.16, -26545.94
);
var options = {
controls: [],
maxExtent: bounds,
maxResolution: 87.17609375,
projection: "EPSG:20791",
units: 'm'
};*
map = new OpenLayers.Map('map', *options*);
var political = new OpenLayers.Layer.WMS(
"State",
"/geoserver/wms",
{layers: 'space:peniche',
projection: new OpenLayers.Projection("EPSG:20791"),
displayProjection: new OpenLayers.Projection("EPSG:20791"),
format: 'image/png'}
);
var eixos_via = new OpenLayers.Layer.WFS(
"Eixos de Via",
"http://IP_DO_TEU_SERVIDOR:8080/geoserver/wfs",
{typename: 'space:eixos_via_peniche'},
{
typename: 'eixos_via_peniche',
featureNS: 'http://IP_DO_TEU_SERVIDOR:8080/space',
extractAttributes: false,
srsName: 'EPSG:20791',
geometryName: 'the_geom'
}
);
eixos_via.style = OpenLayers.Util.applyDefaults({strokeColor:
"#ff0000"},
OpenLayers.Feature.Vector.style["default"]);
var pontos_interesse = new OpenLayers.Layer.WFS(
"Pontos de Interesse",
"http://IP_DO_TEU_SERVIDOR:8080/geoserver/wfs",
{typename: 'space:pontos_interese_peniche'},
{
typename: 'pontos_interese_peniche',
featureNS: 'http://IP_DO_TEU_SERVIDOR:8080/space',
extractAttributes: false,
srsName: 'EPSG:20791',
geometryName: 'the_geom'
}
);
pontos_interesse.style =
OpenLayers.Util.applyDefaults({strokeColor: "#0000ff"},
OpenLayers.Feature.Vector.style["default"]);
map.addLayers([political, eixos_via, pontos_interesse]);
var panel = new OpenLayers.Control.Panel(
{displayClass: 'olControlEditingToolbar'}
);
var drawLine = new OpenLayers.Control.DrawFeature(
eixos_via, OpenLayers.Handler.Path,
{displayClass: 'olControlDrawFeaturePath'}
);
drawLine.featureAdded = function(feature) {
feature.layer.eraseFeatures([feature]);
// cast to multilinestring
feature.geometry = new OpenLayers.Geometry.MultiLineString(
feature.geometry
);
feature.style.strokeColor = "#ff0000";
feature.state = OpenLayers.State.INSERT;
feature.layer.drawFeature(feature);
}
var drawPoint = new OpenLayers.Control.DrawFeature(
pontos_interesse, OpenLayers.Handler.Point,
{displayClass: 'olControlDrawFeaturePoint'}
);
drawPoint.featureAdded = function(feature) {
feature.layer.eraseFeatures([feature]);
feature.style.strokeColor = "#0000ff";
feature.state = OpenLayers.State.INSERT;
feature.layer.drawFeature(feature);
}
panel.addControls(
[new OpenLayers.Control.Navigation(), drawLine, drawPoint]
);
map.addControl(panel);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.ScaleLine());
map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.MousePosition());
*map.zoomToExtent(bounds);*
}
</script>
-------------- próxima parte ----------
Um anexo em HTML foi limpo...
URL: http://lists.osgeo.org/pipermail/portugal/attachments/20100610/11e878e9/attachment.html
More information about the Portugal
mailing list