Esempio n. 1
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            _locationTracker = Mvx.Resolve <ILocationTrackerService>();
            _locationTracker.Subscribe();
        }
Esempio n. 2
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            _locationTracker = Mvx.Resolve <ILocationTrackerService>();
            _locationTracker.Subscribe();

            var messenger = Mvx.Resolve <IMvxMessenger>();

            _locationToken = messenger.Subscribe <LocationMessage>(message =>
            {
                if (!message.IsError)
                {
                    var coords = new GeoCoordinate(message.Lat, message.Lng)
                    {
                        HorizontalAccuracy = message.Accuracy ?? 0
                    };
                    InitializeUserPositionIfNeeded(coords);
                    ShowLocation(coords);

                    AddressPushPin.Content       = message.Address;
                    AddressPushPin.GeoCoordinate = coords;
                    if (message.Accuracy.HasValue)
                    {
                        var coordinates         = GeoHelper.CalculatePolygon(coords.Latitude, coords.Longitude, coords.HorizontalAccuracy).Select(c => c.ToNative());
                        var geoCoordsCollection = new GeoCoordinateCollection();

                        foreach (var coord in coordinates)
                        {
                            geoCoordsCollection.Add(coord);
                        }
                        _mapPolygon.Path = geoCoordsCollection;
                    }
                }
            });
        }