Я пытаюсь нарисовать многоугольник (круг) с отверстием (линейное кольцо), используя DrawInteraction и газон, но вместо того, чтобы рисовать то, что ожидается и где это ожидается, он рисует маленький круг в [0, 0].см. пример Это даже не добавляет линейное кольцо к многоугольнику - это внешний многоугольник, который рисует в [0, 0], линейное кольцо закомментировано в данный момент.
geometryFunction: function (coordinates, geometry) {
if (!geometry) { geometry = new ol.geom.Polygon(null); }
var center = coordinates[0];
var last = coordinates[1];
var radius = turf.distance(center, last, { units: 'degrees' });
var outer = turf.circle(center, radius === 0 ? 0.00000001: radius, { units: 'degrees', steps: 100 });
var inner = turf.circle(center, radius === 0 ? 0.000000005: radius, { units: 'degrees', steps: 20 });
geometry.setCoordinates([outer.geometry.coordinates[0]]);
/* geometry.appendLinearRing([[outer.geometry.coordinates[0]]]); */
return geometry;
}
Я изменил этот пример, чтобы убедиться, что мои координаты, созданные дерном, были в порядке.
Может кто-нибудь помочь мне выяснить, что я делаю неправильно с полигономи его линейное кольцо?