void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { var data = (int)e.Reading.HeadingMagneticNorth; // Console.WriteLine($"Reading: {data} degrees"); if (data < 45 || data > 315) { compassLabel.Text = "Compass: N"; } if (data > 45 && data < 125) { compassLabel.Text = "Compass: E"; } if (data > 125 && data < 225) { compassLabel.Text = "Compass: S"; } if (data > 225 && data < 315) { compassLabel.Text = "Compass: W"; } }
//値を取得したときに実行される private void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { var data = e.Reading; //ラベルに表示 LabelCompass.Text = data.HeadingMagneticNorth.ToString(); }
void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { if (QiblaView.IsVisible) { int Value = Convert.ToInt32(e.Reading.HeadingMagneticNorth); circularGauge.RotateTo(360 - e.Reading.HeadingMagneticNorth); PointToQibla(); if (Value > bearing_degree - 2 && Value < bearing_degree + 2) { pointer1.KnobColor = Color.Gold; scale.RimColor = Color.Gold; if (!isVibrate) { try { isVibrate = true; var duration = TimeSpan.FromSeconds(0.5); Vibration.Vibrate(duration); } catch { } } } else { isVibrate = false; pointer1.KnobColor = Color.White; circularGauge.BackgroundColor = Color.Transparent; scale.RimColor = Color.LightGray; } } }
private void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { double value = e.Reading.HeadingMagneticNorth; string valueFormated = String.Format("{0} {2} {1}", value.ToString("0"), CalculateDirection(value), "\u00b0"); GetCompassValue?.Invoke(this, valueFormated); }
private void OnReadingChanged(object sender, CompassChangedEventArgs e) { CurrentHeading = e.Reading.HeadingMagneticNorth; Rotation = CurrentHeading * -1; var closest90 = Math.Round(CurrentHeading / 90d, MidpointRounding.AwayFromZero) * 90; switch (closest90) { case 0: case 360: CurrentAspect = "North"; break; case 90: CurrentAspect = "East"; break; case 180: CurrentAspect = "South"; break; case 270: CurrentAspect = "West"; break; } }
void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { var data = e.Reading; Console.WriteLine($"Reading: {data.HeadingMagneticNorth} degrees"); // Process Heading Magnetic North }
void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { circularGauge.RotateTo(360 - e.Reading.HeadingMagneticNorth); compassImage.RotateTo(360 - e.Reading.HeadingMagneticNorth); //ImageArrow.RotateTo(360 - e.Reading.HeadingMagneticNorth); PointToQibla(e); }
private void HandleCompassReading(object sender, CompassChangedEventArgs args) { _averageYaw *= (COMPASS_MEASURMENT_WEIGHT - 1) / COMPASS_MEASURMENT_WEIGHT; var heading = args.Reading.HeadingMagneticNorth; if (_viewModel != null && _viewModel.IsNothingCaptured) { _firstPhotoYaw = heading; } if (_viewModel != null && _viewModel.IsExactlyOnePictureTaken) { _averageYaw += heading / COMPASS_MEASURMENT_WEIGHT; } var roundedYawDifference = Math.Round((_firstPhotoYaw - _averageYaw) * COMPASS_SENSITIVITY); if (roundedYawDifference > 0) { _yawIndicator.Source = _yawRight; } else if (roundedYawDifference < 0) { _yawIndicator.Source = _yawLeft; } else { _yawIndicator.Source = _yawStar; } }
public void CompassReadingChanged(object sender, CompassChangedEventArgs e) { var _data = e.Reading; MessagingCenter.Send(this, "imageSend", -_data.HeadingMagneticNorth); //sends new rotation of compass to EntryPage class MessagingCenter.Send(this, "arrowSend", -_data.HeadingMagneticNorth - AppVariables.Alpha); //sends new rotation of arrow }
void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { var data = e.Reading; Degrees = (int)data.HeadingMagneticNorth; UpdateDirection(); DegreesChanged?.Invoke(this, e); }
void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { var data = e.Reading; // Process Heading Magnetic North Console.WriteLine($"Reading: {data.HeadingMagneticNorth} degrees"); label.Text = String.Format("HeadingMagneticNorth:\n{0,0:F1} degrees", data.HeadingMagneticNorth); }
private void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { var data = e.Reading; rotAngle.Text = String.Format("각도 : {0} 도", data.HeadingMagneticNorth.ToString("F2")); angle = data.HeadingMagneticNorth * Math.PI / 180.0; canvasView.InvalidateSurface(); }
private void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { Xamarin.Essentials.CompassData reading = e.Reading; DoubleData data = Heading; data.TimeStamp = DateTime.UtcNow; data.Value = reading.HeadingMagneticNorth; data.SendNotification(); }
private void Compass_ReadingChanged(CompassChangedEventArgs e) { //HeadingDisplay = $"Compass: {e.Reading.HeadingMagneticNorth:F3}"; lock (_sensingDataLock) { _sensingData.Timestamp = DateTime.UtcNow.Ticks; _sensingData.Compass = (float)e.Reading.HeadingMagneticNorth; } }
private void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { var data = e.Reading; headingMagneticNorth = data.HeadingMagneticNorth; Device.BeginInvokeOnMainThread(() => { TxtHeading.Text = Math.Round(headingMagneticNorth, 0).ToString() + "°"; }); }
public void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { var data = e.Reading; compass.RotationAngle = 360 - data.HeadingMagneticNorth; compass.CurrentHeading = data.HeadingMagneticNorth; string[] names = { "North", "East", "South", "West", "North" }; compass.CurrentAspect = names[GetClosestAspect(data.HeadingMagneticNorth)]; }
// Detección por parte del giroscopio y actualización del gaugeValue private void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { try { var data = e.Reading; var grados = data.HeadingMagneticNorth; knobGauge.Value = grados; knobGauge.mandatory[1] = grados + 180; } catch (Exception exception) { } }
internal void RaiseReadingChanged(CompassData data) { var args = new CompassChangedEventArgs(data); if (UseSyncContext) { MainThread.BeginInvokeOnMainThread(() => ReadingChanged?.Invoke(null, args)); } else { ReadingChanged?.Invoke(null, args); } }
void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { var data = e.Reading; var tmpHeading = (90 + data.HeadingMagneticNorth) % 360; _headingStabilizator.AddValue(tmpHeading); var newHeading = _headingStabilizator.GetHeading(); if (Math.Abs(newHeading - Heading) > 0.2) { Heading = newHeading; OnHeadingChanged?.Invoke(Heading); } }
/// <summary> /// Raises the CompassChanged event. /// </summary> /// <param name="compassChangedEventArgs">The CompassChangedEventArgs that contains the event data.</param> protected virtual void OnCompassChanged(CompassChangedEventArgs compassChangedEventArgs) { // Event handler check. var compassChanged = CompassChanged; if (compassChanged != null) { // Trace. Trace("Raising CompassChanged " + compassChangedEventArgs.CompassHeading); // Raise the event. compassChanged(this, compassChangedEventArgs); } }
void PointToQibla(CompassChangedEventArgs e) { double latt_from_radians = current_latitude * Math.PI / 180; double long_from_radians = current_longitude * Math.PI / 180; double latt_to_radians = QiblaLatitude * Math.PI / 180; double lang_to_radians = QiblaLongitude * Math.PI / 180; double bearing = Math.Atan2(Math.Sin(lang_to_radians - long_from_radians) * Math.Cos(latt_to_radians), (Math.Cos(latt_from_radians) * Math.Sin(latt_to_radians)) - (Math.Sin(latt_from_radians) * Math.Cos(latt_to_radians) * Math.Cos(lang_to_radians - long_from_radians))); bearing = Mod(bearing, 2 * Math.PI); double bearing_degree = bearing * 180 / Math.PI; pointer1.Value = bearing_degree; lblG.Text = string.Format("Lat: {0} Long: {1} degree:{2}", current_latitude, current_longitude, bearing_degree.ToString()); }
void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { var data = e.Reading; double northReading = data.HeadingMagneticNorth; if (isEyeball) { EyeballImage.RotateTo(-northReading, 250, Easing.SinInOut); } else { CompassImage.RotateTo(-northReading, 250, Easing.SinInOut); } HeadingLabel.Text = $"{(360 - northReading).ToString("0.00")} \u00B0N"; }
private async void ReadingChanged(object sender, CompassChangedEventArgs e) { if (e.Reading.HeadingMagneticNorth - commpas > 2 || e.Reading.HeadingMagneticNorth - commpas < -2) { isMove = true; commpas = e.Reading.HeadingMagneticNorth; if (isCompas) { Plugin.Geolocator.Abstractions.Position position = await CrossGeolocator.Current.GetLastKnownLocationAsync(); if (position != null) { await map.AnimateCamera(CameraUpdateFactory.NewCameraPosition(new CameraPosition(new Position(position.Latitude, position.Longitude), 20, e.Reading.HeadingMagneticNorth, 70)), TimeSpan.FromMilliseconds(10)); } } } else { isMove = false; } }
async void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { // Get the deviation compared to north var data = e.Reading; double north = data.HeadingMagneticNorth; // Check if the user's location was succesfully collected if (locationFound) { // Calculate the angle the compass should head towards double dy = endLocation.Latitude - startLocation.Latitude; double dx = Math.Cos(Math.PI / 180 * startLocation.Latitude) * (endLocation.Longitude - startLocation.Longitude); double angle = Math.Atan2(dy, dx) * (180 / Math.PI); angle = 360 - (angle + 180) - 90; if (angle < 0) { angle += 360; } // Calculate distance between user's location and endpoint double distance = Location.CalculateDistance(startLocation, endLocation, DistanceUnits.Kilometers) * 1000; // Return results distanceLabel.Text = String.Format("{0:f1} " + AppResources.meter, distance); await compassImage.RotateTo(angle - north); } else // Error while finding the user's location { distanceLabel.Text = "?? " + AppResources.meter; await compassImage.RotateTo(0); } }
private void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { mapView.MyLocationLayer.UpdateMyViewDirection(e.Reading.HeadingMagneticNorth, mapView.Viewport.Rotation, false); }
void Compass_CompassChanged(object sender, CompassChangedEventArgs e) { Debug.WriteLine("*** Compass Heading = {0}", e.Heading); label.Text = $"Heading = {e.Heading}"; }
private void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { var data = e.Reading; headernorthvalue = data.HeadingMagneticNorth; }
void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { HeadingMagneticNorth = e.Reading.HeadingMagneticNorth; }
private static void CompassOnReadingChanged(object sender, CompassChangedEventArgs e) { CompassData data = e.Reading; heading = data.HeadingMagneticNorth * -1; }
private void CompassSensor_ReadingChanged(object sender, CompassChangedEventArgs e) { CompassDataReading.Add(CompassWatch.ElapsedTicks, e.Reading); }
void Compass_ReadingChanged(object sender, CompassChangedEventArgs e) { var data = e.Reading; lbl.Text = $"Reading: {data.HeadingMagneticNorth} degrees"; }