Както се казва в http://trac.osgeo.org/openlayers/wiki/FrequentlyAskedQuestions#ProxyHost Поставих файла proxy.cgi в сървъра, където се казва в документацията, и той показва страницата с отворен слой, докато отидете на „http://mydomain.com/cgi-bin/proxy.cgi“. Това означава, че настройката на прокси сървъра е направена правилно за сървъра. но докато се опитвам да използвам скрипта си с този прокси, той не работи. Сложих "OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";
" в моя скрипт. така че проксито да може да се използва.
Моят код е тук, който не работи.
ainSelect = new OpenLayers.Control.WMSGetFeatureInfo({
url: 'http://ec2-23-22-12-137.compute-1.amazonaws.com:8080/geoserver/KCRE/wms',
title: 'Identify features by clicking',
layers: [lyrParcels],
queryVisible: true
});
ainSelect.infoFormat = 'application/vnd.ogc.gml';
ainSelect.events.register("getfeatureinfo", this, pickAINid);
map.addControl(ainSelect);
ainSelect.activate();
И функцията pickAINid е:
function pickAINid(e) {
//alert(e.features.length);
if (e.features && e.features.length) {
var val = e.features[0].attributes.ain;
alert(val);
//document.getElementById('roadId').value = val;
}
}
Така че трябва да ме предупреди за AIN номера, докато щракам върху картата. Доколкото разбрах, получава e.features.length = 0. това означава, че WMSGetFeatureInfo не работи правилно.
Моля, вижте, че използвах слоевете: [lyrParcels] Създадох този слой, преди който код не съм дал тук.
Друга точка. този код просто работи добре, докато изпълнявам този код от моя локален.
Може ли някой да ми каже какво правя грешно? На този ред "OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";
" ли е?
Благодаря предварително.
поздрави Mahbubul Haque