Страница 1 из 1
Подписи в OpenLayers+MapServer
Добавлено: 03 сен 2010, 12:08
dravig
Столкнулся с такой проблемой: при отображении map-файла через openlayers отрисовка происходит большими квадратами. И если подпись попадает на границу квадратов - она дублируется при каждом следующем увеличении масштаба... Каким образом можно это убрать? Заранее спасибо.
Re: Подписи в OpenLayers+MapServer
Добавлено: 03 сен 2010, 12:31
dobeer
в описаниии слоя...как вариант.
Re: Подписи в OpenLayers+MapServer
Добавлено: 03 сен 2010, 14:50
dravig
Однако, работает, Спасибо.
Re: Подписи в OpenLayers+MapServer
Добавлено: 06 сен 2010, 21:28
Mavka
А вообще то ситуация довольно странная. Есть как минимум
3 опции на разных уровнях:
- WEB: "labelcache_map_edge_buffer" "-10" (размер полей в пикселях)
- LAYER: PROCESSING "LABEL_NO_CLIP=ON" (как вариант - "LABEL_NO_CLIP=1")
- LABEL: PARTIALS TRUE
Если с конца, то на PARTIALS есть нормальная
документация.
Про PROCESSING только размыто сказано
"директивы бывают разные". Вопрос на форуме
уже поднимали. Поскольку у меня нет под рукой исходных кодов, то сделаю предположение, что директивы обработки передаются напрямую или
драйверу (
пример) или
рендеру (
пример).
(Поправка. Драйвер/рендер при желании сам спрашивает - а мне никаких указаний не оставляли?)
Для создания полей вокруг тайла можно использовать "labelcache_map_edge_buffer" (
пример конфигурации). Он отодвигает все надписи внутрь на указанное число пикселей. Что делает он в разделе WEB METADATA и почему отсутствует в документации? См. на трэкере
#1353.
Re: Подписи в OpenLayers+MapServer
Добавлено: 07 сен 2010, 09:49
Mavka
Как я и предполагал, опция LABEL_NO_CLIP зафиксирована в файле mapdraw.c. Поскольку это функции общего порядка, то должно работать и со всеми специализированными рендерами.
Больше недокументированных опций processing в коде я не обнаружил.