Как показать / скрыть метки с помощью картсервера и openlayers
Мне бы хотелось иметь опцию галочки / снятия галочки, такую как этот флажок печати, чтобы показать / спрятать метки в моих слоях WMS, обслуживаемых mapserver 5.6.7 в openlayers 2.11. У меня есть панель инструментов, где можно разместить это, используя, вероятно, geoext1 или ext3.4, поэтому вопросы:
- Это возможно?
- Если так, как это можно сделать?
Буду признателен за поддержку, пожалуйста, спасибо!
1 ответ
Обходным путем может быть использование php-mapscript для открытия файла карты вашего сервера карт, получения слоя, в котором вы хотите переключать видимость метки, затем вы можете действовать, удаляя или вставляя объект "LABELITEM" и / или зацикливая свои классы и удаляя / вставляя объекты "ЭТИКЕТКА". Затем вам нужно сохранить измененный файл карты... конечно, прежде чем делать все это, у вас должна быть резервная копия исходного файла карты. Все это довольно сложное и не очень элегантное решение, но оно может сработать.
другой способ взлома может заключаться в том, чтобы ваши метки находились в другом слое mapserver типа "ANNOTATION" и добавляли / удаляли этот слой из директивы "LAYERS" при запросах к WMS!