Клуб API Карт

Placemark: наследование, добавление свойств, переопределение методов

Пост в архиве.

Возникла необходимость добавлять в объект Placemark какие-то свои, нужные мне данные.

И чтобы такие свойства, как, например, visible и iconImageHref вычислялись на основе этих данных.

Поясню свою мысль куском кода:

Если бы я эту идею реализовывал на языке типа C# или Java, я бы, очевидно, использовал наследование и переопределение свойств visible и iconImageHref. А в JS как правильно подобную вещь сделать?

В идеале хотелось бы посмотреть пример грамотной реализации того, что мне нужно, или хотя бы дайте направление куда рыть.

Спасибо.

1 комментарий

В буквальном смысле поля тех объектов что Вы передаете в конструктор метки, не являются полями метки.

Второй и третий параметр это объекты, на основании которых создаются экземпляры менеджера данных и менеджера опций, присваемые в поля properties и options экземпляра метки.

То есть у метки нет никаких полей visible или iconImageHref, и напрямую работать с ними Вы не сможете, кроме как через интерфейс вышеперечисленных менеджеров.

 

Что касается наследования в javascript, надо понимать что и зачем Вы делаете, поэтому может стоит прочитать сначала чтото про этот язык.

 

В АПИ есть специальный хелпер для реализации наследования.

Примеры его использования можно посмотреть на моем гитхабе, например.

https://github.com/dimik/ymaps/blob/gh-pages/examples/list-collection/list-collection.js

https://github.com/dimik/ymaps/blob/gh-pages/examples/object-manager/object-manager.js