Клуб API Карт

Ошибка при создании полигона

matvei.sheogorath
25 апреля 2013, 17:39

Доброго времени суток! Возникла небольшая проблемка: при попытке отобразить полигон на карте в консоль выводит 
Uncaught Error: graphics.csg.internalShapes: возможно полигон не замкнут
хотя сам полигон описани правильно(статически выводится на ура). 

function get_polygon(full_url) {

    var polygon,

        geometry = [],

        polygons = [];

  

    $.ajax({

        url: full_url,

        data: '',

        type: "post",

        success: function (data) {

            if (data.res.length) {

                for (i in data.res) {

                    geometry = data.res[i].fields.polygon_coordinates.value;

                    console.log(geometry);

                    polygon = new ymaps.Polygon([

                        [geometry]

                    ], {

                        id: data.res[i].id,

                        name: data.res[i].name,

                        tid: data.res[i].fields.category.value.tid,

                        hash_link: (typeof data.hash_link != 'undefined') ? "?cache=" + data.hash_link : ''

                    }, {});

                    polygons[i] = polygon;

                    //myMap.geoObjects.add(polygon);

                };

            }

            enableForm();

        },

        dataType: "json",

        async: false

    });

    return polygons;

}

5 комментариев
Подписаться на комментарии к посту

Вы не могли бы дать ссылку на страницу?

увы, нет. все это добро пока в разработке и в интернеты не выкладывал

 

скорее всего ошибка здесь
[[geometry]]

уже нашел! именно там она и была! сделал вот так и все заработало

 

 

polygon = new ymaps.Polygon(

                        eval(geometry)

 

и в базе храню теперь [[[...],[...],...]]

Проблема возникает в момент попытки найти самопересечение полигона.

Выключается через опцию fillRule:'nonZero' (см документацию)

Но если ошибка есть - с данными точно что-то не то