[Spanish] Re: Problema con popup en capa MapServer
florencia.bujan
florita026 at gmail.com
Wed Oct 20 13:54:06 EDT 2010
Laurent,
Muchas gracias por tu respuesta.
Te cuento que estoy trabajando con OpenLayers. Además tengo la base de datos
en PostGis.
Hace algunos meses que estoy trabajando con esta herramienta y me ha sido de
gran utilidad. Las capas me las dibuja correctamente y puedo hacer consultas
sobre ellas. Ahora estoy tratando de desplegar en popup información traida
desde la geodatabase.
O sea, lo que yo quiero hacer ahora es mostrar (además de los mapas con sus
colores) la información adicional de la GDB en alguna parte. En el ejemplo
que me estoy basando es el siguiente:
http://dev4.mapgears.com/bdga/options-by-zoom-and-highlight-bdga.html, pero
tal vez tu me dices que hay otra forma mejor de hacerlo sin necesidad de los
popups.
En el .map me defino la capa de la siguiente forma:
************* MAP FILE ***************
MAP
NAME GIS
SIZE 700 700
STATUS ON
EXTENT -63.4393 -33.974 -48.1827 -32.0861
FONTSET "misc/fonts/fonts.txt"
SYMBOLSET "misc/symbols/symbols.sym"
IMAGECOLOR 255 255 255
UNITS dd
WEB
METADATA
"wms_title" "Sistema de Información Geográfica"
"wms_onlineresource"
"http://localhost/cgi-bin/mapserv.exe?map=../htdocs/Florencia/GISManager/flor.map&"
"wms_srs" "EPSG:4326"
"wms_transparent" "true"
"labelcache_map_edge_buffer" "-10"
"wfs_title" "Terrazas"
"wfs_onlineresource"
"http://localhost/cgi-bin/mapserv.exe?map=../htdocs/Florencia/GISManager/flor.map&"
"wfs_srs" "EPSG:4326"
"wfs_abstract" "Some text"
"wfs_encoding" "UTF-8"
"wfs_namespace_prefix" "MF"
END
END
PROJECTION
"init=EPSG:4326"
END
# Capa de Terrazas
LAYER
CONNECTIONTYPE postgis
NAME "Terrazas"
STATUS ON
CONNECTION "user=** password=** dbname=** host=**"
DATA "the_geom from (SELECT l.* from terrazas l, campos c WHERE
c.id=l.idcampo) as terrazas using unique gid using SRID=-1"
METADATA
"wfs_title" "Terrazas"
"gml_featureid" "Terrazas"
"gml_include_items" "all"
"wfs_typename" "Terrazas"
END
TYPE LINE
CLASS
NAME "Terrazas"
STYLE
SIZE 4
COLOR 0 192 255
SYMBOL "BigLine"
END
END
TOLERANCE 20
END
END
En la función init del openlayers tengo algo del estilo:
****** OPENLAYERS ********
OpenLayers.Feature.Vector.style['default']['strokeWidth'] = '2';
var oRegStyleMap = new OpenLayers.StyleMap({
strokeColor: "black",
strokeWidth: 2,
strokeOpacity: 1,
fillOpacity: 0.8
});
var aRegColor = {
'01': {fillColor:"purple" },
'02': {fillColor:"blue" },
'03': {fillColor:"yellow" },
'04': {fillColor:"red" },
'05': {fillColor:"#ffa500" }, //orange
'06': {fillColor:"red" },
'07': {fillColor:"purple" },
'08': {fillColor:"blue" },
'09': {fillColor:"green" },
'10': {fillColor:"#ffa500" },
'11': {fillColor:"#ffa500" },
'12': {fillColor:"green" },
'13': {fillColor:"purple" },
'14': {fillColor:"#ffa500" },
'15': {fillColor:"yellow" },
'16': {fillColor:"green" },
'17': {fillColor:"blue" }
};
oRegStyleMap.addUniqueValueRules("default", "res_co_reg", aRegColor);
// LOCAL SETTINGS
var szBDGAMapPath = "../htdocs/Florencia/GISManager/flor.map";
var szHost = "http://localhost/";
var szMSURL = szHost+"cgi-bin/mapserv.exe";
oMap = new OpenLayers.Map( 'map');
//CAPA BASE
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://vmap0.tiles.osgeo.org/wms/vmap0",
{layers: 'basic'} );
oMap.addLayers([wms]);
oMap.setCenter(new OpenLayers.LonLat(-57.5, -34), 9);
//CAPA LOCAL
var olWFSReg = new OpenLayers.Layer.Vector("Terrazas", {
styleMap: oRegStyleMap,
strategies: [
new OpenLayers.Strategy.OptionsByZoom({
optionsByZoom: {
0: {featureType: "Terrazas"},
1: {featureType: "Terrazas"},
2: {featureType: "Terrazas"},
3: {featureType: "Terrazas"}
},
defaultOptions: {featureType: "Terrazas"}
}),
new OpenLayers.Strategy.BBOX()
],
protocol: new OpenLayers.Protocol.WFS({
version: "1.0.0",
url: stringMapa+"&",
extractAttributes:true,
featureType: "Terrazas",
srsName: "EPSG:4326",
featureNS: "http://localhost4/",
geometryName: "the_geom",
schema:
szMSURL+"?service=WFS&version=1.0.0&request=DescribeFeatureType&TypeName=Terrazas"
})
});
oMap.addLayers([ olWFSReg ]);
var highlighter = new OpenLayers.Control.HighlightFeature({
layer: olWFSReg,
displayPopup: true,
popupOffset: {
'left': 45,
'right': 0,
'top': 5
},
popupTitle: "Province information",
popupSize: new OpenLayers.Size(200,225),
style:{
strokeColor: "black",
strokeWidth: 2,
strokeOpacity: 0.8,
fillOpacity: 0.5,
fillColor: "black"
}
});
oMap.addControl(highlighter);
highlighter.activate();
oMap.addControl(new OpenLayers.Control.Navigation());
oMap.addControl(new OpenLayers.Control.Scale($('scale')));
oMap.addControl(new OpenLayers.Control.LayerSwitcher());
oMap.addControl(new OpenLayers.Control.PanZoomBar());
Desde ya muchas gracias y saludos,
Florencia
--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/Problema-con-popup-en-capa-MapServer-tp5655608p5655941.html
Sent from the OSGeo Spanish Local Chapter mailing list archive at Nabble.com.
More information about the Spanish
mailing list