OpenLayers: OpenLayers.Map.theme
Добавлено: 09 окт 2011, 10:53
Очевидно, что при использовании CSS в качестве инструмента управления символикой контролов - ссылки на изображения, соответствующие контролам, должны быть прописаны в *.css файле. Однако, даже не указывая ссылку в html-файле на CSS-файл, OpenLayers корректно отображает контролы, использующие CSS. Возникает вопрос - как? На самом деле всё очень просто, у класса OpenLayers.Map есть свойство theme, которое хранит ссылку на css файл, автоматически загружаемый в проект. Открываем файл Map.js и внутри метода initialize находим следующий код:
Таким образом, если при создании объекта OpenLayers.Map свойство theme было не определено, то оно задаётся принудительно способом указанным выше. Если вы не хотите использовать дефолтный файл *.css, то необходимо при создании объекта OpenLayers.Map определить свойство OpenLayers.Map.theme следующим способом:
и прописать в заголовке *.html-страницы ссылку на необходимый *.css файл.
Код: Выделить всё
this.theme = OpenLayers._getScriptLocation() + 'theme/default/style.css';
OpenLayers.Util.extend(this, options);
Код: Выделить всё
theme: null