Клуб API Карт

placemark внутри polygon

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

Здравствуйте.

Рисую карту участков нашего села, участков не много, многоугольники. Хочу проставить им номера через placemark.

Как сделать, чтобы placemark размещался в центре многоугольника? И возможно, чтобы клик и по polygon, и по placemark открывал один и тот же балун? (сейчас балун у многоугольников, placemark`ов ещё нет)

5 комментариев
Лучше использовать Canvas-заливку у полигона с номером в центре

Обновлено 13 февраля 2017, 11:32
dimik,
благодарю за ответ!
Нашел в предыдущих постах ваш пример с использованием svg: fillImageHref: '//yastatic.net/morda-logo/i/bender/logo.svg',


Можете привести ещё пример и для canvas?
Обновлено 15 февраля 2017, 21:24
Sergey Il`ich,
https://www.w3schools.com/graphics/canvas_text.asp


fillImageHref: canvas.toDataURL()
dimik,
всё, понял, благодарю ещё раз.
Жаль, в данном случае, что canvas что svg разницы нет, вопрос зумирования остался - при приближении текст становится большим. А если через fillMethod:tile, то появляется куча надписей.
Sergey Il`ich,
Нужно слушать boundschange на карте и переназначать fillImageHref на каждом масштабе с учетом нового пиксельного размера полигона.
Пиксельный размер полигона можно получить из его bounds – myPolygon.getBounds() и перевести ее в пиксели через метод проекции toGlobalPixels, потом просто вычесть из координаты правого угла координату левого и получить ширину полигона.
Канвас нужно создавать каждый раз новый, размером равным пиксельному размеру полигона на данном масштабе


Я когда-то делал такой пример, там 20-30 строчек кода – не rocket science
fillMethod можно выставить в stretch
Обновлено 16 февраля 2017, 06:01