Example #1
0
        private void My_OnLocationChange(Windows.Devices.Geolocation.Geoposition obj)
        {
            var msg = BuddyRunInfo.FromGeoposition(obj, DateTime.UtcNow);

            msg.SourceUserId = eBuddyApp.Services.Azure.MobileService.Instance.UserData.FacebookId;
            msg.DestUserId   = "sid:af7d6ae6d4abbcb585bc46ab45d42c05"; //todo change to real usrid

            RunnersHubProxy.Invoke("SendLocation", msg);
        }
Example #2
0
        private async void OnLocationMessage(BuddyRunInfo obj)
        {
            OnBuddyLocationUpdate?.Invoke(obj.GetGeoPoint());

            _routeFinderEvent.Reset();

            _buddyWaypoints.Add(obj.GetGeoPoint());

            if (_buddyWaypoints.Count > 1)
            {
                var routeFind = await MapRouteFinder.GetWalkingRouteFromWaypointsAsync(_buddyWaypoints);

                if (routeFind.Status == MapRouteFinderStatus.Success)
                {
                    BuddyRoute = routeFind.Route;
                    double distanceDiff = BuddyRoute.LengthInMeters - BuddyData.Distance;
                    BuddyData.Distance = BuddyRoute.LengthInMeters;
                    BuddyData.Speed    = (distanceDiff / 1000) / ((BuddyData.Time.Subtract(DateTime.Now.TimeOfDay)).TotalSeconds / 60.0 / 60.0);
                    BuddyData.Time     = DateTime.Now - BuddyData.Date;
                }
            }

            _routeFinderEvent.Set();
        }