Заливка многоугольника изображением
Многоугольник, прямоугольник и круг можно залить фоновым изображением. Для этого нужно указать ссылку на фоновое изображение в опции fillImageHref.
Тип заливки фоном - fillMethod. Опция может принимать одно из двух значений:
- stretch - фоновое изображение растягивается по размеру оверлея;
- tile - фоновое изображение повторяется без изменений размера.
index.html
polygon_with_image.js
<!DOCTYPE html>
<html>
<head>
<title>Заливка многоугольника изображением</title>
<meta
http-equiv="Content-Type"
content="text/html; charset=utf-8"
/>
<!--
Укажите свой API-ключ. Тестовый ключ НЕ БУДЕТ работать на других сайтах.
Получить ключ можно в Кабинете разработчика: https://developer.tech.yandex.ru/keys/
-->
<script
src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&apikey=<ваш API-ключ>"
type="text/javascript"
></script>
<script src="polygon_with_image.js" type="text/javascript"></script>
<style>
html,
body,
#map {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
}
</style>
</head>
<body>
<div id="map"></div>
</body>
</html>
ymaps.ready(init);
function init() {
var myMap = new ymaps.Map(
"map",
{
center: [60.179022977567406, 30.505805864880234],
zoom: 12,
},
{
searchControlProvider: "yandex#search",
}
);
// Создаем многоугольник, используя вспомогательный класс Polygon.
var myPolygon = new ymaps.Polygon(
[
// Указываем координаты вершин многоугольника.
[
[60.1918981644201, 30.513391151974343],
[60.190786978271895, 30.517596855709733],
[60.18411906873506, 30.52532161767263],
[60.17744980033012, 30.52789653832693],
[60.17505537249033, 30.526866570065202],
[60.16949620406973, 30.51313365990895],
[60.16744334943163, 30.512961998532003],
[60.16590362399728, 30.52034343774098],
[60.16325170493725, 30.518626823971463],
[60.161968441206376, 30.512790337155053],
[60.16094179402215, 30.513476982662866],
[60.1600006725024, 30.51055873925465],
[60.16136956759276, 30.5016323476531],
[60.16556145295854, 30.49922908837575],
[60.16992386592128, 30.50060237939137],
[60.171292346312335, 30.502147331783966],
[60.17257524473589, 30.50060237939137],
[60.17334495966222, 30.49734081322926],
[60.176167092910546, 30.481719627926545],
[60.17719326286712, 30.479659691403086],
[60.17787735830078, 30.474509850094513],
[60.181725128740176, 30.471248283932404],
[60.18198163068699, 30.468158379147237],
[60.18300761837183, 30.469531670162862],
[60.182409129464446, 30.47210659081716],
[60.18437555191994, 30.475368156979272],
[60.18574342829046, 30.479659691403086],
[60.18694027321249, 30.482921257565195],
[60.1886499757379, 30.48446620995779],
[60.189419312729555, 30.485496178219496],
[60.189846714352946, 30.48927272851247],
[60.1905305453375, 30.49098934228201],
[60.19155626501584, 30.4903026967742],
[60.192752897330365, 30.49665416772145],
[60.191043409196396, 30.5042072683074],
[60.19232553367115, 30.509185448239027],
[60.1918981644201, 30.513391151974343],
],
],
// Описываем свойства геообъекта.
{
// Содержимое балуна.
balloonContent: "Рыбные места",
},
{
// Описываем опции геообъекта.
// Фоновое изображение.
fillImageHref: "lake.svg",
// Тип заливки фоном.
fillMethod: "stretch",
// Убираем видимость обводки.
stroke: false,
}
);
// Добавляем многоугольник на карту.
myMap.geoObjects.add(myPolygon);
}