मैं PostGIS / GeoServer / OpenLayers स्टैक पर आधारित सरल स्थानीय मैपिंग सेवा चला रहा हूं।
Opengeo ट्यूटोरियल के बाद मैंने OpenLayers में क्लिक इवेंट्स को WMS GetFeatureInfo कॉल के साथ जोड़ दिया है:
map.events.register('click', map, function (e) {
var url = "http://localhost:1979/geoserver/wms"
+ "?REQUEST=GetFeatureInfo"
+ "&EXCEPTIONS=application/vnd.ogc.se_xml"
+ "&BBOX=" + map.getExtent().toBBOX()
+ "&X=" + e.xy.x
+ "&Y=" + e.xy.y
+ "&INFO_FORMAT=text/html"
+ "&QUERY_LAYERS=MYDATA:MYLAYER"
+ "&LAYERS=MYDATA:MYLAYER"
+ "&FEATURE_COUNT=5"
+ "&SRS=EPSG:3857"
+ "&STYLES="
+ "&WIDTH=" + map.size.w
+ "&HEIGHT=" + map.size.h;
window.open(url,
"getfeatureinfo",
"location=0,status=0,scrollbars=1,width=800,height=125"
);
});
मैंने प्रतिक्रिया को सही ढंग से प्रारूपित करने के लिए जियोसर्वर के फ्रीमकर टेम्प्लेट का उपयोग किया है। मेरे पास समस्या यह है कि मुझे जो प्रतिक्रिया मिलती है, वह सभी क्षेत्रों की परत से मिलती है।
क्या कोई ऐसा तरीका है जो उपयोगकर्ता के लिए प्रासंगिक है?