private void InitEventMap() { float avgLatitude = 0, avgLongitude = 0; foreach (var activity in _event.Activities) { var pin = new Pin(); var place = activity.Place; pin.Position = new Position(place.Latitude, place.Longitude); pin.Label = place.Name; avgLatitude += place.Latitude; avgLongitude += place.Longitude; EventMap.Pins.Add(pin); } if (_event.Activities.Count != 0) { avgLatitude /= _event.Activities.Count; avgLongitude /= _event.Activities.Count; EventMap.MoveToRegion( MapSpan.FromCenterAndRadius( new Position(avgLatitude, avgLongitude), Distance.FromMeters(400))); } else { EventMap.MoveToRegion( MapSpan.FromCenterAndRadius( new Position(53.118293, 23.149717), Distance.FromMeters(300))); } }
protected override void OnAppearing() { base.OnAppearing(); if (EventMap.Pins.Count > 0) { return; } var position = new Position(vm.Latitude, vm.Longitude); EventMap.MoveToRegion(new MapSpan(position, 0.02, 0.02)); EventMap.Pins.Add(new Pin { Type = PinType.Place, Address = vm.LocationTitle, Label = vm.EventTitle, Position = position }); }