Как получить все видимые точки в границах просмотра карты в Azure Maps

Я искал и пытался использовать образец точки выбора в примере многоугольника, однако я не рисую новый многоугольник, а скорее он уже есть на карте для использования в качестве границы выбора. У меня также есть много точек на карте, но некоторые из них не видны или, возможно, скрыты из-за коэффициента масштабирования, поэтому я хочу игнорировать все эти точки, которые будут выбраны, даже если они находятся в многоугольнике выбора. Это возможно?

// searchArea is populated by click method
    function searchPolygon(searchArea) {
        var visiblePointsOnly = ???;
        var poly = searchArea.toJson(); // This is failing saying toJson not a function?

        // Calculate all points that are within the polygon area.
        var ptsWithin = turf.pointsWithinPolygon(visiblePointsOnly, poly);

        return ptsWithin;
    }

TIA! Рик ...


person Rick    schedule 16.04.2020    source источник


Ответы (1)


Мне удалось это выяснить ... может быть, не самый лучший, но он делает то, что мне нужно!

function searchPolygon(searchArea) {
    // Get points visible on map
    var points = pointLayer.getSource();

    if(points){
        var poly = searchArea.shapes[0].toJson();
        points = points.shapes[0].toJson();

        // Calculate all points that are within the polygon area.
        var ptsWithin = turf.pointsWithinPolygon(points, poly);
    }

    return ptsWithin;
}

Надеюсь, это поможет другим, нуждающимся в такой же функциональности, Ура! Рик ...

person Rick    schedule 17.04.2020