Несколько WFS из базы данных; меняет URL

1

Мне нужно показать несколько функций wfs в карте. Запрошенный URL-адрес: http://localhost/pdan/map.php?id=150 Это то, что я сделал:

var id = <?php echo $_REQUEST['id']; ?>;
function getVector(obj) {
    var url = "";
    var geojsonFormat = new ol.format.GeoJSON();
    var vectorSource = new ol.source.Vector({
        loader: function(extent, resolution, projection) {
            var url = 'http:192.168.0.101:8082/geoserver/pdan/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=pdan:' + obj.data_set_name + '&' +
                'outputFormat=text/javascript&format_options=callback:loadFeatures' +
                '&srsname=EPSG:3857&bbox=' + extent.join(',') + ',EPSG:3857';
            $.ajax({url: url, dataType: 'jsonp', jsonp: false, cache:false});
        },
        strategy: ol.loadingstrategy.bbox
    });
    window.loadFeatures = function(response) {
        vectorSource.addFeatures(geojsonFormat.readFeatures(response));
    };
    return new ol.layer.Vector({
        source: vectorSource,
        style: new ol.style.Style({
            stroke: new ol.style.Stroke({
                color: 'rgba(0, 0, 255, 1.0)',
                width: 2
            })
        })
    });
}

function getObject(id) {
    var result;
    $.ajax({
        url: "dbQueries.php",
        async: false,
        cache: false,
        dataType: "JSON",
        data: {'query': 110, 'id': id},
        success: function (data) {
            result = data;
        }
    });
    return result;
}
var vector = [];
var rowObject = getObject(id);
var size = Object.size(rowObject);
//Prepare vector Layer
if (size != 0) {
    for (var i = 0; i < size; i++) {
        vector[i] = getVector(rowObject[i]);
    }
}

//Now Initialise map
var map = createMap();
var graticule = getGraticule();
graticule.setMap(map);

//Add vector to the map
if (size != 0) {
    for (var i=0; i<size; i++) {
        map.addLayer(vector[i]);
    }

}

Мне все кажется okey, но URL-адрес изменен, и в консоли я получаю ошибку:

GET 
http://localhost/pdan/192.168.0.101:8082/geoserver/pdan/ows [HTTP/1.1 403 Forbidden 3ms]

Что мне здесь не хватает?

Теги:
openlayers-3

1 ответ

1
Лучший ответ

Проблема была в том, что я запросил у меня. Должен быть

var url = 'http://192.168.0.101:8082/geoserver/pdan/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=pdan:' + obj.data_set_name + '&' +
                'outputFormat=text/javascript&format_options=callback:loadFeatures' +
                '&srsname=EPSG:3857&bbox=' + extent.join(',') + ',EPSG:3857';

вместо

var url = 'http:192.168.0.101:8082/geoserver/pdan/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=pdan:' + obj.data_set_name + '&' +
                'outputFormat=text/javascript&format_options=callback:loadFeatures' +
                '&srsname=EPSG:3857&bbox=' + extent.join(',') + ',EPSG:3857';

Ещё вопросы

Сообщество Overcoder
Наверх
Меню