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)));
            }
        }
Example #2
0
        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
            });
        }