c# - 基于聚类点计数的颜色聚类特征

标签 c# swift xamarin.ios mapbox mapbox-ios

我正在使用 Xamarin.iOS 和 Mapbox iOS SDK(Naxam.Mapbox.iOS NuGet 包 here 开发应用程序。 我在 MapBox iOS SDK 网站上关注这个例子:https://docs.mapbox.com/ios/maps/examples/clustering/ .

我在将这部分代码转换为 C# 时遇到问题:

// Color clustered features based on clustered point counts.
let stops = [
    20: UIColor.lightGray,
    50: UIColor.orange,
    100: UIColor.red,
    200: UIColor.purple
]

和:

circlesLayer.circleColor = NSExpression(format: "mgl_step:from:stops:(point_count, %@, %@)", UIColor.lightGray, stops)

如果我这样做,我可以为集群设置一个独特的颜色:

circlesLayer.CircleColor = NSExpression.FromConstant(FromObject(UIColor.Green));

但如果我按照示例进行操作,我将无法做到这一点,在该示例中,表达式格式采用 3 个参数:stringUiColorArray

但在 C# NSExpression.FromConstant 中,最多接受 2 个参数:string 和一个 NSObject[],所以我创建了这个:(以匹配示例中的数组“stops”)

NSDictionary[] stops = new NSDictionary[]
{
    new NSDictionary(new NSNumber(0), FromObject(UIColor.Green)),
    new NSDictionary(new NSNumber(20), FromObject(UIColor.Blue)),
    new NSDictionary(new NSNumber(100), FromObject(UIColor.Red))
};

但是没有成功,我应该怎么做呢?

最佳答案

它应该是一个 nsfloat 而不是一个整数,所以像这样定义第一个参数:

new NSNumber(0f)

关于c# - 基于聚类点计数的颜色聚类特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56394241/

相关文章:

c# - 条件代码的更好方法

c# - 在 C++ 中将一个接口(interface)指针分配给另一个接口(interface)指针

swift - 我正在执行一个帖子请求,我想在其中输入一个问题,并通过帖子请求获得最常见的答案

c# - Xamarin IOS 隐藏栏后退按钮

ios - 在 monotuch 中处理 ObjC 异常

c# - 拒绝对 DataRow 中单个 DataColumn 的更改

c# - 仅当未在 Json.Net 中明确设置 PropertyName 时才使用 CamelCase?

swift - 当循环中有条件地更改迭代器时,Swift C 样式循环的替代方案

ios - 自定义条形码扫描仪,点击聚焦

c# - 为什么我需要覆盖托管包装委托(delegate)对象中的可选 ObjC 方法?