private void PopulateWorld()
{
try
{
// remove any subviews if they exist
foreach (var view in events.Keys)
{
view.RemoveFromSuperview();
}
foreach (var evt in world.Elements)
{
if (evt?.Element == null) continue;
var poiView = new UIView
{
Tag = evt.Element.Id,
Bounds = new CGRect(0, 0, 50, 50),
Center = new CGPoint(0, View.Bounds.Height/2)
};
var distanceLabel = new UILabel
{
Text = evt.Element.DistanceAway,
TextColor = UIColor.White,
BackgroundColor = UIColor.Black,
TextAlignment = UITextAlignment.Center,
Alpha = 0.8f
};
var frameWidth = distanceLabel.IntrinsicContentSize.Width;
distanceLabel.Frame = new CGRect(0,0, frameWidth, 15);
poiView.Bounds = new CGRect(0,0, frameWidth, 50);
poiView.AddSubview(distanceLabel);
CameraView.AddSubview(poiView);
events[poiView] = evt;
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
}