Quantcast
Channel: Клуб API Карт
Viewing all articles
Browse latest Browse all 7380

Невидимый полигон на карте

$
0
0

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

На карте есть несколько районов. При перемещении балуна хочу определять принадлежность к этому району. Принадлежность можно определять, только если район добавлен на карту. Как сделать чтобы все это работало так же хорошо, но только на карте районы были невидимые?

Первое, что приходит, заливать невидимой заливкой, но все равно районы остаются одноцветными... Как быть?

 

ymaps.ready(init);
function init() {
    coords = [56.477670000000, 84.952930000000],
    myMap = new ymaps.Map('map', {
        center: coords,
        zoom: 12
    }),
    myBalloon = new ymaps.Placemark(coords, {
        balloonContentHeader: "объект"
    }, {
        draggable: "true",
        preset: "twirl#greenStretchyIcon"
    });
    myPolygon = new ymaps.Polygon([
        [
            [56.50052, 84.9856],
            [56.5021, 84.983],
            [56.50061, 84.97991],
            [56.49763, 84.98059],
            [56.49487, 84.98051],
            [56.49444, 84.99321],
            [56.49249, 85.00302],
            [56.49641, 85.00862],
            [56.49958, 85.00121],
            [56.50074, 84.99956],
            [56.50251, 84.99877],
            [56.50372, 84.99411],
            [56.50052, 84.9856]
        ]
    ], {
        fillColor: 'FFFFFF00',
        strokeColor: '#ff0000',
        strokeWidth: 1
    });
    myMap.geoObjects.add(myPolygon);
    myBalloon.events.add(['dragend'], function () {
        var coords = myBalloon.geometry.getCoordinates();
        alert(myPolygon.geometry.contains(coords) ? 'Ранил!' : 'Мимо!');
        $('#coordinates').val(coords);
    });
    myMap.geoObjects.add(myBalloon);
    Еслирайоннакартунедобавить, апростосвязать, товозникаютошибки, т.е.
    ymaps.ready(init);
    function init() {
        coords = [56.477670000000, 84.952930000000],
        myMap = new ymaps.Map('map', {
            center: coords,
            zoom: 12
        }),
        myBalloon = new ymaps.Placemark(coords, {
            balloonContentHeader: "объект"
        }, {
            draggable: "true",
            preset: "twirl#greenStretchyIcon"
        });
        myPolygon = new ymaps.Polygon([
            [
                [56.50052, 84.9856],
                [56.5021, 84.983],
                [56.50061, 84.97991],
                [56.49763, 84.98059],
                [56.49487, 84.98051],
                [56.49444, 84.99321],
                [56.49249, 85.00302],
                [56.49641, 85.00862],
                [56.49958, 85.00121],
                [56.50074, 84.99956],
                [56.50251, 84.99877],
                [56.50372, 84.99411],
                [56.50052, 84.9856]
            ]
        ], {
            fillColor: 'FFFFFF00',
            strokeColor: '#ff0000',
            strokeWidth: 1
        });
        //myMap.geoObjects.add(myPolygon);
        myPolygon.options.setParent(myMap.options);
        // вот эта строка не нравится скрипту
        myPolygon.setMap(myMap);
        myBalloon.events.add(['dragend'], function () {
            var coords = myBalloon.geometry.getCoordinates();
            alert(myPolygon.geometry.contains(coords) ? 'Ранил!' : 'Мимо!');
            $('#coordinates').val(coords);
        });
        myMap.geoObjects.add(myBalloon);

  

.

Viewing all articles
Browse latest Browse all 7380

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>