我有一个使用MapBox的IOS(Swift)应用程序。
我的地图具有从本地GeoJSON文件加载的POI图层。到目前为止,一切都令人满意。
现在我想对我的POI数据进行一些过滤操作,但是当我这样做时,它总是返回一个空数组。
这是我的代码:
let url = URL(fileURLWithPath: Bundle.main.path(forResource: "test", ofType: "geojson")!)
let pois = MGLShapeSource(identifier: "dynamicpoi", url: url, options: nil)
mapView.style?.addSource(pois)
let layer = MGLSymbolStyleLayer(identifier: "dynamicpoi", source: pois)
layer.text = NSExpression(forKeyPath: "id")
layer.textTranslation = NSExpression(forConstantValue: NSValue(cgVector: CGVector(dx: 10, dy: -10)))
layer.textJustification = NSExpression(forConstantValue: "left")
layer.textAnchor = NSExpression(forConstantValue: "left")
mapView.style?.addLayer(layer)
let predicate = NSPredicate(format: "%K == %i", "id", 1)
let features = pois.features(matching: predicate)
//features always empty, I tried several predicates
您有什么建议吗?非常感谢!