Для запроса атрибутов поля и координат для кликаемого объекта использую запрос следующего вида:
Код: Выделить всё
map.addEventListener('click', onMapClick);
function onMapClick(e) {
var mapBounds = map.getBounds(),
bbox = map.getBounds()._southWest.lng + "," + map.getBounds()._southWest.lat + "," + map.getBounds()._northEast.lng + "," + map.getBounds()._northEast.lat;
$.ajax({
url: 'http://host:8080/geoserver/store/wms',
dataType: 'xml',
data: {
'tiled': true,
'LAYERS': 'store:layer',
'QUERY_LAYERS': 'store:layer',
'STYLES': '',
'SERVICE': 'WMS',
'VERSION': '1.1.1',
'REQUEST': 'GetFeatureInfo',
'BBOX': bbox,
'FEATURE_COUNT': '1',
'WIDTH': map.getSize().x,
'HEIGHT': map.getSize().y,
'FORMAT': 'image/png',
'INFO_FORMAT': 'application/vnd.ogc.gml',
'SRS': 'EPSG:4326',
'X': map.layerPointToContainerPoint(e.layerPoint).x,
'Y': map.layerPointToContainerPoint(e.layerPoint).y
}
})
.done(function(data) {
if (data) {
var $xml = $(data)
, original_coords = $xml.find('gml\\:coordinates, coordinates').text().split(' ')
, tt3 = $xml.find('store\\:tt3, tt3').text()
, tt4 = $xml.find('store\\:tt4, tt4').text();
console.log(original_coords);
}
});
};
Что необходимо настроить на GeoServer'e чтобы обойти ошибку CORS?Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://host:8080/geoserver/store/wms?ti ... =915&Y=458. Это может быть исправлено путем перемещения ресурса в тот же домен или включением CORS.