IOS Точка кластеризации MapBox с меткой из суммы по полю пользовательских точек - PullRequest
0 голосов
/ 21 марта 2020

Как создать заголовок кластера на основе точечных полей?

Например. У меня есть точки со значением в свойствах - «count»

И при создании кластера из этих точек я хочу видеть текст круга кластера с суммой полей «count», как показано ниже:

enter image description here

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "properties": {
                "count": 16

            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    30.5419921875,
                    50.55532498251967
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "count": 2
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    36.25488281249999,
                    50.05008477838256
                ]
            }
        }
    ]
}

https://docs.mapbox.com/ios/maps/examples/clustering/ Этот пример создает текстовое название из "point_count", но мне нужно использовать сумму значений из всех точки в кластере

1 Ответ

1 голос
/ 21 марта 2020

Есть решение:

https://github.com/mapbox/mapbox-gl-native/pull/15515

let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})")
let secondExpression = NSExpression(forKeyPath: "magnitude")
let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]]

let options : [MGLShapeSourceOption : Any] = [.clustered : true,
                                           .clusterProperties: clusterPropertiesDictionary]
...