Клуб API Карт

Как добавить подпись к полигону?

Kilich13
12 августа 2016, 22:27

Как сделать автомативеское добавление подписи с названием к полигону? В качестве примера можно посмотреть google карты.

Простое добавление метки не подходит. Если делаешь объект невидимым или перетаскиваешь, нужно что бы подпись скрывалась и перетаскивалась вместе с ним.

2 комментария
Подписаться на комментарии к посту
Встроенных средств для этого нет.
Помню я делал такие подписи на канвас и передавал его dataUrl в опцию fillImageHref полигона
Решил так попробовать 
object.options.set("fillImageHref",'data:image/svg+xml;base64,'+utf8_to_b64('<svg xmlns="http://www.w3.org/2000/svg" width="'+w+'" height="'+h+'"><rect width="100%" height="100%" fill="#'+color+'" fill-opacity=".55"/><text style="font-family: Arial,Helvetica,sans-serif; text-anchor: middle;" fill="#ffffff" fill-opacity=".7" x="50%" y="50%">'+name+'</text></svg>'));


object.events

//подсветка при наведении
.add('mouseenter', function (e) {
    var f = e.get('target');

    f.options.set('tmp', f.options.get("fillImageHref"));
    f.options.unset('fillImageHref');

})
.add('mouseleave', function (e) {
    var f = e.get('target');
    if (f.options.get("tmp")) {
        f.options.set('fillImageHref', f.options.get("tmp"));
        f.options.unset('tmp');
    }
});


Почти работает, только почему-то когда убираешь мышку с объекта он становится вначале полностью белым, а потом окрашивается как надо. Что выглядит как-то не очень хорошо. Как можно это устранить ?