我有一個帶WFS協議和BBOX策略的vectorLayer。它應該首先加載數據。 但是,如果我拖動地圖geoserver日誌只是說:{curr date} INFO [geoserver.wfs] - 請求:getServiceInfo而不是getFeature(就像它在初始請求期間一樣)。 我的問題是在地圖上沒有任何反應。如果我在圖層上設置了「刷新」eventHandler,它將不會觸發... 我是否必須在其他地方刷新地圖/圖層?OpenLayers wfs request - > geoserver log:getServiceInfo改爲getFeature
var map;
function init(){
..
map = new OpenLayers.Map('map', options);
var gsat = new OpenLayers.Layer.Google(...);
map.addLayer(gsat);
var lonlat = new OpenLayers.LonLat(...);
map.setCenter(lonlat, 18);
loadLayer();
..
}
function loadLayer(){
loadLayerFunc();
...
}
function loadLayerFunc(){
var wfsLayer = loadLayerFunc();
wfsLayer.events.on({...});
map.addLayer(wfsLayer);
...
}
function loadLayerFunc(){
var bboxStrategy = new OpenLayers.Strategy.BBOX({ratio: 0.8});
wfsLayer = new OpenLayers.Layer.Vector("wfsLayer", {
strategies: [bboxStrategy],
protocol: new OpenLayers.Protocol.WFS({
version: "1.1.0",
srsName: "EPSG:4326",
url: wfs_url,
featureType: "positions_test",
featurePrefix: "feature",
geometryName: "the_geom",
schema: "http://localhost:8080/geoserver/wfs?request=DescribeFeatureType&service=WFS&typeName=ws:positions",
maxFeatures: 1000
}),
projection: geoProjection
});
return wfsLayer;
}
如果我的另一臺服務器上運行相同的腳本,Firefox的Web控制檯告訴我已經在初始請求「無法顯示類型的響應(空)」 ......? 它甚至沒有顯示任何東西,雖然我只是改變了網址。
編輯:空響應似乎是由沒有代理配置的tomcat apache服務器引起的。如果js文件與geoserver中的類似apache文件夾一樣,可以在沒有代理的情況下運行它?最後我需要在tomcat上運行它。 「proxy.cgi文件格式不正確」錯誤比空響應更好嗎?如果可能的話,我想在沒有代理的情況下解決它,但看起來包括代理使我更接近我想要的地方。