Я занимаюсь разработкой приложения с использованием Xamarin.iOS и SDK Mapbox iOS (пакет NuGet для Naxam.Mapbox.iOS здесь .
И я следую этому примеру на веб-сайте 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));
Но мне не удастся это сделать, если я последую примеру, в нем формат Expression принимает 3 параметра: string , UiColor , Array
Но в C # NSExpression.FromConstant
принимает максимум 2 параметра: string и NSObject [] , поэтому я создал это: (для соответствия массиву "stop" в нелогич-)
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))
};
Но безуспешно, что мне делать вместо этого?