Необходимо создать слой WFS получающий данные GET запросом. Сервер не понимает JSONP, поэтому для доступа к серверу (он сторонний) настроен proxy. OSM слои (тайловые) стягиваются на ура, а вот WFS слой не получается даже создать нормально. Просто не понимаю как, хотя и примеры смотрел и гуглил, но что-то не доходит ни как.
Запрос к серверу на получение WFS:
Код: Выделить всё
localhost/proxy?service=WFS&version=1.0.0&srsname=EPSG:4326&request=GetFeature&typeName=TheNameLayerКод: Выделить всё
var layer = new OpenLayers.Layer.Vector(
    'Название слоя',
    {
        //strategies: [new OpenLayers.Strategy.BBOX()],
        strategies: [new OpenLayers.Strategy.Fixed(), new OpenLayers.Strategy.Save()],
        layers: 'TheNameLayer',
        protocol: new OpenLayers.Protocol.WFS({
            version: "1.0.0",
            url: "/proxy",
            featurePrefix: '',
            featureType: 'TheNameLayer',
            srsname: 'EPSG:4326'
        }),
        visibility: false
    }
);Код: Выделить всё
http://localhost/proxyПробовал получать данные и так (через протокол Script) :
Код: Выделить всё
var protocol = new OpenLayers.Protocol.Script({
    url: serverUrl,
    params: {
        service: "WFS",
        version: "1.0.0",
        srsname: "EPSG:4326",
        request: "GetFeature",
        typeName: 'TheNameLayer'
    }
});Но вот не задача - при таком протоколе в параметры добавляется ещё один параметр
Код: Выделить всё
callback=OpenLayers.Protocol.Script.registry.c{N}Так как же правильно создать WFS слой (что бы он тянул данные GET запросом приведенного вида) ?
--------------------------------------------------
Дополнение:
--------------------------------------------------
Получилось послать запрос, используя Script, без callack, так
Код: Выделить всё
var protocol = new OpenLayers.Protocol.Script({
        url: serverUrl,
        params: {
            service: "WFS",
            version: "1.0.0",
            srsname: "EPSG:4326",
            request: "GetFeature",
            typeName: layerName
        },
        callbackTemplate: "",
        callbackKey: ""
});Код: Выделить всё
localhost/proxy?service=WFS&version=1.0.0&srsname=EPSG:4326&request=GetFeature&typeName=TheNameLayer&=Похожу он все равно ищет в ответе callback функцию и пытается её вызвать, а её то нет в помине в ответе сервера!Resource interpreted as Script but transferred with MIME type text/xml: "http://localhost/proxy?service=WFS&vers ... eNameLayer&=".
OpenLayers.js:24953
OpenLayers.Protocol.Script.OpenLayers.Class.createRequest
OpenLayers.Protocol.Script.OpenLayers.Class.read
OpenLayers.Strategy.Fixed.OpenLayers.Class.load
OpenLayers.Events.OpenLayers.Class.triggerEvent
OpenLayers.Layer.OpenLayers.Class.setVisibility
OpenLayers.Control.LayerSwitcher.OpenLayers.Class.updateMap
OpenLayers.Control.LayerSwitcher.OpenLayers.Class.onButtonClick
OpenLayers.Events.OpenLayers.Class.triggerEvent
OpenLayers.Events.buttonclick.OpenLayers.Class.buttonClick
OpenLayers.Events.OpenLayers.Class.triggerEvent
OpenLayers.Events.OpenLayers.Class.handleBrowserEvent
(anonymous function)
Uncaught SyntaxError: Unexpected token <
Если кто подключал WFS с GET запросом к серверу, подскажите как быть ?
 
						
 
						 
 