Я использую Apache Tomcat 7.0.72 & Geoserver v2.2 & php v5.3.5. я собираюсь сделать приложение на стороне сервера с PHP, который контролирует доступ к слоям, которые публикуются с помощью Geoserver. При просмотре слоев с Geoserver я использую Openlayers3.i хочу иметь список слоев, опубликованных в Geoserver. что мне делать??!Как получить список слоев, опубликованных в geoserver по php?
ответ
Почему вы не используете запрос WMS GetCapabilities? OpenLayers имеет ol.format.WMSCapabilities
, поэтому вы можете легко получить JSON из доступных слоев.
var xhr = new XMLHttpRequest();
xhr.open('GET', '/geoserver/wms?service=wms&request=GetCapabilities');
xhr.onload = function() {
var parser = new ol.format.WMSCapabilities();
var capabilities = parser.read(xhr.responseText);
var layers = capabilities.Capability.Layer.Layer;
/* List of layers is now in the `layers` array */
};
Привет, спасибо U за ваш ответ. есть проблема в запросе xhr, и я не могу получить массив (слои) , но этот url работает для меня –
XMLHttpRequest не может загрузить http://127.0.0.1:8080/geoserver/wms?service=wms&request=GetCapabilities. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Поэтому исходный адрес http://127.0.0.1:8888 'не допускается. –
Я использую $ .get() в jQuery, но была ошибка 403. –
Вы должны попробовать это сами, и обзор [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask) –