Вопрос по GeoServer+OpenLayers
-
- Интересующийся
- Сообщения: 37
- Зарегистрирован: 31 май 2011, 03:09
- Репутация: 0
Re: Вопрос по GeoServer+OpenLayers
В примере на openlayers.org встретилась интересная возможность: получение координат вершин нарисованного многоугольника.
Хочу получить доступ к координатам вершин последнего нарисованного многоугольника. Как бы к ним обратиться?
А еще как можно удалить нарисованный многоугольник?
Хочу получить доступ к координатам вершин последнего нарисованного многоугольника. Как бы к ним обратиться?
А еще как можно удалить нарисованный многоугольник?
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Вопрос по GeoServer+OpenLayers
Чтобы получить доступ к последнему нарисованному объекту, просто вешаем обработчик на событие "featureadded" контрола OpenLayers.Control.DrawFeature. По приведенной вами ссылке данная задача решается добавлением следующих строк в функцию init():
Для удаления объекта используется метод removeFeatures векторного слоя. Пример удаления последнего объекта в приведенном вами примере:
Код: Выделить всё
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());
});
Код: Выделить всё
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.
-
- Интересующийся
- Сообщения: 37
- Зарегистрирован: 31 май 2011, 03:09
- Репутация: 0
Re: Вопрос по GeoServer+OpenLayers
Супер теперь могу получить координаты, Спасибо!
Удаление пока не проверял, как закончу с обработкой координат займусь удалением.
Удаление пока не проверял, как закончу с обработкой координат займусь удалением.
-
- Интересующийся
- Сообщения: 37
- Зарегистрирован: 31 май 2011, 03:09
- Репутация: 0
Re: Вопрос по GeoServer+OpenLayers
У меня есть код, позволяющий при клике на точку, получить для нее инфу:
и
А мне нужно получить информацию о всех объектах выделенных в области(многоугольник). В коде отсев идет по координатам клика .
Можно ли указать в параметрах отсева координаты области?
Код: Выделить всё
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
Измените название топика и на разные вопросы создавайте отдельные темы.
лангольеры под окном жрали время ом-ном-ном
Кто сейчас на конференции
Сейчас этот форум просматривают: Ahrefs [Bot] и 7 гостей