나는 WFS 프로토콜 및 BBOX 전략을 사용하는 vectorLayer를 사용합니다. 처음에는 데이터를로드해야합니다. 그러나지도를 드래그하면 geoserver 로그에서 다음과 같이 말합니다. {curr date} INFO [geoserver.wfs] - 요청 : getFeature 대신 getServiceInfo (초기 요청시처럼). 내 문제는지도에서 아무 일도 일어나지 않는다는 것입니다. 레이어에 "새로 고침"eventHandler를 설정하면 실행되지 않습니다 ... 다른 곳에서지도/레이어를 새로 고쳐야합니까? 내가 다른 서버에 동일한 스크립트를 실행하는 경우OpenLayers wfs 요청 -> geoserver 로그 : 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;
}
는, 파이어 폭스 웹 콘솔은 초기 요청에 따라 이미 나에게 말한다 "(널)을 유형의 응답을 표시 할 수 없습니다".....? URL을 변경했지만 아무 것도 표시하지 않습니다.
EDIT : null 응답은 프록시 구성없이 Tomcat Apache 서버에 의해 발생한 것으로 보입니다. js 파일이 geoserver와 비슷한 apache 폴더에 있으면 프록시없이 실행할 수 있습니까? 마지막으로 나는 바람둥이에 그것을 실행해야합니다. "proxy.cgi 파일이 잘 작성되지 않았습니다"오류가 null 응답보다 나은가요? 가능하다면 프록시없이 해결하고 싶습니다만, 프록시를 포함하여 내가 원하는 곳에 더 가까이 다가 가게 할 것 같습니다.