OpenLayers: модификация классов

Решенные задачи, первая запись - описание решения.
Ответить
Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3370
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 519
Ваше звание: Author
Контактная информация:

OpenLayers: модификация классов

Сообщение Denis Rykov » 29 июл 2011, 21:26

Иногда бывают ситуации, когда необходимо изменить поведение того или иного класса библиотеки. Можно, конечно, это сделать напрямую в исходниках, но тогда все изменения будут потеряны при обновлении библиотеки. Чтобы этого измежать достаточно воспользоваться одним из 3 способов.

1. Создание подкласса

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

MySelectFeature = OpenLayers.Class(OpenLayers.Control.SelectFeature, {
    select: function() { 
     ...
    }
});
2. Модификация метода

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

OpenLayers.Control.SelectFeature.prototype.select = function() { ... }
3. Передача измененного метода в параметрах конструктора

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

var myc = new OpenLayers.Control.SelectFeature({select: function() { } });
Spatial is now, more than ever, just another column- The Geometry Column.

Ответить

Вернуться в «Рецепты»

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость