Клуб API Карт

Создание пиксельного геообъекта

bulatov.n.o
1 октября 2015, 06:48

Мне необходимо создать круг с пиксельным радиусом, а не метровым как это сделано по умолчанию.

Т.е. как я понял, мне нужно реализовать геометрию круга.

geometry.pixel.Circle Реализовать почему-то не получилось.

Вот 2 метода, где я пытался это сделать:

 

CatalogYaMap.prototype.addMarkers = function(data) {
    this.markers = [];
    _.each(data, function(markerData) {
        var marker = this.getMarkerStyle(markerData);
        this.markers.push(marker);
        this.map.geoObjects.add(marker);
    }.bind(this));

    this.setEvents();
};

CatalogYaMap.prototype.getMarkerStyle = function(data, focus) {
    var circleGeometry = new ymaps.geometry.pixel.Circle(data.coordinates.reverse(), 100);
    var circleGeoObject = new ymaps.GeoObject({ geometry: circleGeometry }, {
        fill: true,
        fillColor: focus ? '#f9844b' : '#6aae08',
        strokeColor: '#fff',
        geodesic: true,
        strokeOpacity: 1,
        strokeWidth: 2.5
    });
    return circleGeoObject;
};

 

P.S.: Таким же образом с geometry.Circle у меня всё получилось

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

Пересчитайте свой пиксельный радиус в метры через методы объектов projection и coordSystem

Я надеялся на более доступный способ, но этот тоже подошёл. Спасибо :)