Вопрос по GeoServer+OpenLayers

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Kris
Интересующийся
Сообщения: 37
Зарегистрирован: 31 май 2011, 03:09
Репутация: 0

Re: Вопрос по GeoServer+OpenLayers

Сообщение Kris » 24 авг 2011, 05:20

В примере на openlayers.org встретилась интересная возможность: получение координат вершин нарисованного многоугольника.

Хочу получить доступ к координатам вершин последнего нарисованного многоугольника. Как бы к ним обратиться?

А еще как можно удалить нарисованный многоугольник?

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Вопрос по GeoServer+OpenLayers

Сообщение Denis Rykov » 24 авг 2011, 07:02

Чтобы получить доступ к последнему нарисованному объекту, просто вешаем обработчик на событие "featureadded" контрола OpenLayers.Control.DrawFeature. По приведенной вами ссылке данная задача решается добавлением следующих строк в функцию init():

Код: Выделить всё

drawCtrl = map.getControlsByClass('OpenLayers.Control.DrawFeature')[2];
drawCtrl.events.register("featureadded", drawCtrl, function(e) {
    console.log(geojson.write(e.feature, true));
    console.log(e.feature.geometry.getVertices());
}); 
Для удаления объекта используется метод removeFeatures векторного слоя. Пример удаления последнего объекта в приведенном вами примере:

Код: Выделить всё

map.layers[0].removeFeatures(map.layers[0].features[map.layers[0].features.length-1]) 
Spatial is now, more than ever, just another column- The Geometry Column.

Kris
Интересующийся
Сообщения: 37
Зарегистрирован: 31 май 2011, 03:09
Репутация: 0

Re: Вопрос по GeoServer+OpenLayers

Сообщение Kris » 24 авг 2011, 07:27

Супер теперь могу получить координаты, Спасибо!
Удаление пока не проверял, как закончу с обработкой координат займусь удалением.

Kris
Интересующийся
Сообщения: 37
Зарегистрирован: 31 май 2011, 03:09
Репутация: 0

Re: Вопрос по GeoServer+OpenLayers

Сообщение Kris » 25 авг 2011, 08:14

У меня есть код, позволяющий при клике на точку, получить для нее инфу:

Код: Выделить всё

map.events.register('click', map, function (e) {
                    document.getElementById('nodelist').innerHTML = "Загрузка... подождите...";
                    var params = {
                        REQUEST: "GetFeatureInfo",
                        EXCEPTIONS: "application/vnd.ogc.se_xml",
                        BBOX: map.getExtent().toBBOX(),
                        X: e.xy.x,
                        Y: e.xy.y,
                        INFO_FORMAT: 'text/html',
                        QUERY_LAYERS: map.layers[2].params.LAYERS,
                        FEATURE_COUNT: 50,
                        Layers: 'i###########################',
                        Styles: '',
                        Srs: 'EPSG:4326',
                        WIDTH: map.size.w,
                        HEIGHT: map.size.h,                        
                        format: format};
                    if(cql_query)
                    { params.CQL_FILTER=cql_query; }
                    OpenLayers.loadURL("###################", params, this, setHTML, setHTML);
                    OpenLayers.Event.stop(e);
                });
и

Код: Выделить всё

function setHTML(response){
			var http; 
			if (response.responseText != "") {
				document.getElementById('nodelist').innerHTML = response.responseText;
			}
			else
			{
				document.getElementById('nodelist').innerHTML = '<html> <body>Данные не могут быть загружены</body> </html>';				
			}
        };
А мне нужно получить информацию о всех объектах выделенных в области(многоугольник). В коде отсев идет по координатам клика .
Можно ли указать в параметрах отсева координаты области?

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Вопрос по GeoServer+OpenLayers

Сообщение Mavka » 25 авг 2011, 08:47

Измените название топика и на разные вопросы создавайте отдельные темы.
лангольеры под окном жрали время ом-ном-ном

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot] и 7 гостей