Пользовательский метод алгоритма кластеризации будет вызываться только один раз для этого VEShapeLayer.
Адам Байрам,
Нет большой разницы между использованием метода VEMap.AddShape и добавлением VEShapeLayer на карту со всеми Shapes внутри. Метод AddShape добавляет Shape к ShapeLayer «по умолчанию», который является ShapeLayer с индексом 0 (ноль), а добавление VEShapeLayer добавляет новый слой в дополнение к существующему слою «default».
Вероятно, что если вы используете VEMap.AddShape для добавления объекта VEShape на карту, то он вызывает ваш алгоритм алгоритма clusting каждый раз, когда VEShape добавляется на карту. Это было бы правильным поведением, поскольку при каждом добавлении фигуры потребуется пересчитывать кластеризацию.
Чтобы улучшить общую производительность при добавлении всех фигур на карту, и чтобы VE вызывал ваш метод алгоритма только один раз при добавлении всех фигур; Вы можете создать VEShapeLayer, добавить все фигуры к нему, а затем добавить этот слой формы на карту. Это приведет к тому, что VE будет выполнять рендеринг всех фигур только один раз (во время загрузки их всех), а не каждый раз, когда вы добавляете один VEShape.