http://trac.osgeo.org/openlayers/wiki/FrequentlyAskedQuestions#ProxyHostで述べられているように、ドキュメントに記載されているサーバーにproxy.cgiファイルを配置し、「http:/」に移動するとopenlayerページが表示されます。 /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=";
"行にありますか?
前もって感謝します。
MahbubulHaqueに関して