public void start(SharpGIS.AR.Controls.ARPanel arPanel, bool judgeFlag, int areaMark, string countryName, TextBlock txtRightCount) { Image img = new Image(); img.Source = new BitmapImage(new Uri("/Images/flags/" + countryName + ".png", UriKind.Relative)); img.Width = 100; img.Height = 90; img.Tap += (a, b) => { if (judgeFlag) { txtRightCount.Text = "Score: " + (++numberOfQuestionGotRight).ToString() + "/" + App.allCoutries.Count.ToString(); arPanel.Children.Clear(); txtResult.Text = "Correct"; txtResult.Foreground = new SolidColorBrush(Colors.Red); txtResult.Visibility = Visibility.Visible; // show textblock DelayDisplay(); // delay message DisplayQuestion(); } else { txtRightCount.Text = "Score: " + numberOfQuestionGotRight.ToString() + "/" + App.allCoutries.Count.ToString(); arPanel.Children.Clear(); txtResult.Text = "Wrong"; txtResult.Foreground = new SolidColorBrush(Colors.Green); txtResult.Visibility = Visibility.Visible; // show textblock DelayDisplay(); // delay message DisplayQuestion(); } }; ARPanel.SetDirection(img, new System.Windows.Point(-45, 0 + areaMark * 72)); arPanel.Children.Add(img); }
private void a(object A_0, SharpGIS.Gis.Data.SqlServer.a.b A_1) { DialogResult result = MessageBox.Show(string.Format("Could not insert row #{0}:{1}\r\n\r\n{2}: {3}\r\n\r\nSelect OK to ignore or Cancel to abort", new object[] { A_1.b(), a(A_1.a()), A_1.c().GetType(), A_1.c().Message }), "Error inserting row", MessageBoxButtons.OKCancel); A_1.a(result == DialogResult.Cancel); }
private void pointVirtual(SharpGIS.AR.Controls.ARPanel panel, double myLatitude, double myLongtitude, CountryDetails country) { double virtualLong = 0; double virtualLa = 0; double hisLatitude = country.lat; double hisLongtitude = country.lon; string countryName = country.CountryLongName; if (myLongtitude != hisLongtitude && myLongtitude + hisLongtitude != 180 && myLongtitude + hisLongtitude != -180) { if (myLongtitude > 0) { if (hisLongtitude > 0) { if (myLongtitude - hisLongtitude > 0) { virtualLong = (hisLongtitude - myLongtitude) / 2; //west if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { virtualLa = 180 + myLatitude - hisLatitude;//west // virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { virtualLa = 270 - myLatitude + hisLatitude;//west //virtualLa = 90 - hisLatitude + myLatitude;//east } else { virtualLa = 360 + myLatitude - hisLatitude;//west // virtualLa = hisLatitude - myLatitude;//east } } else { virtualLa = 270 - myLatitude + hisLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } else { virtualLong = (myLongtitude - hisLongtitude) / 2; //east if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { // virtualLa = 180 + myLatitude - hisLatitude;//west virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 - hisLatitude + myLatitude;//east } else { // virtualLa = 360 + myLatitude - hisLatitude;//west virtualLa = hisLatitude - myLatitude;//east } } else { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } } else { if (180 + hisLongtitude - myLongtitude > 0) { virtualLong = (hisLongtitude - myLongtitude) / 2; //west if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { virtualLa = 180 + myLatitude - hisLatitude;//west // virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { virtualLa = 270 - myLatitude + hisLatitude;//west //virtualLa = 90 - hisLatitude + myLatitude;//east } else { virtualLa = 360 + myLatitude - hisLatitude;//west // virtualLa = hisLatitude - myLatitude;//east } } else { virtualLa = 270 - myLatitude + hisLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } else { virtualLong = (myLongtitude + hisLongtitude - 180) / 2; //east if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { // virtualLa = 180 + myLatitude - hisLatitude;//west virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 - hisLatitude + myLatitude;//east } else { // virtualLa = 360 + myLatitude - hisLatitude;//west virtualLa = hisLatitude - myLatitude;//east } } else { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } } } else { if (hisLongtitude > 0) { if (hisLongtitude - myLongtitude - 180 < 0) { virtualLong = (myLongtitude - hisLongtitude) / 2; //east if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { // virtualLa = 180 + myLatitude - hisLatitude;//west virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 - hisLatitude + myLatitude;//east } else { // virtualLa = 360 + myLatitude - hisLatitude;//west virtualLa = hisLatitude - myLatitude;//east } } else { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } else { virtualLong = (hisLongtitude - myLongtitude - 360) / 2; //west if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { virtualLa = 180 + myLatitude - hisLatitude;//west // virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { virtualLa = 270 - myLatitude + hisLatitude;//west //virtualLa = 90 - hisLatitude + myLatitude;//east } else { virtualLa = 360 + myLatitude - hisLatitude;//west // virtualLa = hisLatitude - myLatitude;//east } } else { virtualLa = 270 - myLatitude + hisLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } } else { if (myLongtitude - hisLongtitude > 0) { virtualLong = (hisLongtitude - myLongtitude) / 2; //west if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { virtualLa = 180 + myLatitude - hisLatitude;//west // virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { virtualLa = 270 - myLatitude + hisLatitude;//west //virtualLa = 90 - hisLatitude + myLatitude;//east } else { virtualLa = 360 + myLatitude - hisLatitude;//west // virtualLa = hisLatitude - myLatitude;//east } } else { virtualLa = 270 - myLatitude + hisLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } else { virtualLong = (myLongtitude - hisLongtitude) / 2; //east if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { // virtualLa = 180 + myLatitude - hisLatitude;//west virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 - hisLatitude + myLatitude;//east } else { // virtualLa = 360 + myLatitude - hisLatitude;//west virtualLa = hisLatitude - myLatitude;//east } } else { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } } } } else { if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { if (hisLatitude - myLatitude > 0) { virtualLa = 0; virtualLong = myLatitude - hisLatitude; } else { virtualLa = 180; virtualLong = myLatitude - hisLatitude; } // virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { virtualLa = 180; virtualLong = hisLatitude - myLatitude; // virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { virtualLa = 0; virtualLong = myLatitude - hisLatitude - 180; // virtualLa = 180 + myLatitude - hisLatitude;//west // virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { virtualLa = 0; virtualLong = myLatitude - hisLatitude; // virtualLa = 270 - myLatitude + hisLatitude;//west //virtualLa = 90 - hisLatitude + myLatitude;//east } else { virtualLa = 180; virtualLong = hisLatitude - myLatitude - 180; // virtualLa = 360 + myLatitude - hisLatitude;//west // virtualLa = hisLatitude - myLatitude;//east } } else { if (myLatitude - hisLatitude < 0) { virtualLa = 0; virtualLong = myLatitude - hisLatitude; } else { virtualLa = 180; virtualLong = myLatitude - hisLatitude; } // virtualLa = 270 - myLatitude + hisLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; virtualLong = 0; } } /* if (myLongtitude - hisLongtitude < 0) { if (myLongtitude - hisLongtitude > -180) { virtualLong = (myLongtitude - hisLongtitude) / 2; virtualLa = 90 + myLatitude - hisLatitude; } else { virtualLong = (hisLongtitude - myLongtitude - 360) / 2; virtualLa = 90 - myLatitude + hisLatitude; } } else { if (myLongtitude - hisLongtitude < 180) { virtualLong = (hisLongtitude - myLongtitude) / 2; virtualLa = 90 + myLatitude - hisLatitude; } else { virtualLong = (myLongtitude - hisLongtitude - 360) / 2; virtualLa = 90 - myLatitude + hisLatitude; } } TextBlock countryNameText = new TextBlock() { Text = countryName }; SharpGIS.AR.Controls.ARPanel.SetDirection(countryNameText, new Point(0, 30)); panel.Children.Add(countryNameText); TextBlock countryNameText1 = new TextBlock() { Text = countryName }; SharpGIS.AR.Controls.ARPanel.SetDirection(countryNameText1, new Point(-10, 200)); panel.Children.Add(countryNameText1); TextBlock countryNameText2 = new TextBlock() { Text = countryName }; SharpGIS.AR.Controls.ARPanel.SetDirection(countryNameText2, new Point(-80, 90)); panel.Children.Add(countryNameText2); TextBlock countryNameText3 = new TextBlock() { Text = countryName }; SharpGIS.AR.Controls.ARPanel.SetDirection(countryNameText3, new Point(-30, 330)); panel.Children.Add(countryNameText3); */ Button countryNameBTN = new Button(); countryNameBTN.Content = countryName; countryNameBTN.Tag = countryName + "/" + hisLatitude.ToString() + "/" + hisLongtitude.ToString(); countryNameBTN.Foreground = new SolidColorBrush(Colors.Red); //countryNameBTN.Click += countryNameBTN_Click; countryNameBTN.Click += (a, b) => { App.selectedCountryDetails = country; Button clickedBtn = (Button)a; string[] information = clickedBtn.Tag.ToString().Split('/'); var queryData = string.Format("?c={0}&lat={1}&lon={2}", information[0], information[1], information[2]); NavigationService.Navigate(new Uri("/SelectedCountryDetail.xaml" + queryData, UriKind.Relative)); }; countryNameBTN.BorderBrush = new SolidColorBrush(Colors.Transparent); countryNameBTN.BorderThickness = new Thickness(0); SharpGIS.AR.Controls.ARPanel.SetDirection(countryNameBTN, new Point(virtualLong, virtualLa)); panel.Children.Add(countryNameBTN); }
private void pointVirtual(SharpGIS.AR.Controls.ARPanel panel, string countryName, double myLatitude, double myLongtitude, double hisLatitude, double hisLongtitude) { double virtualLong = 0; double virtualLa = 0; if (myLongtitude != hisLongtitude && myLongtitude + hisLongtitude != 180 && myLongtitude + hisLongtitude != -180) { if (myLongtitude > 0) { if (hisLongtitude > 0) { if (myLongtitude - hisLongtitude > 0) { virtualLong = (hisLongtitude - myLongtitude) / 2; //west if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { virtualLa = 180 + myLatitude - hisLatitude;//west // virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { virtualLa = 270 - myLatitude + hisLatitude;//west //virtualLa = 90 - hisLatitude + myLatitude;//east } else { virtualLa = 360 + myLatitude - hisLatitude;//west // virtualLa = hisLatitude - myLatitude;//east } } else { virtualLa = 270 - myLatitude + hisLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } else { virtualLong = (myLongtitude - hisLongtitude) / 2; //east if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { // virtualLa = 180 + myLatitude - hisLatitude;//west virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 - hisLatitude + myLatitude;//east } else { // virtualLa = 360 + myLatitude - hisLatitude;//west virtualLa = hisLatitude - myLatitude;//east } } else { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } } else { if (180 + hisLongtitude - myLongtitude > 0) { virtualLong = (hisLongtitude - myLongtitude) / 2; //west if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { virtualLa = 180 + myLatitude - hisLatitude;//west // virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { virtualLa = 270 - myLatitude + hisLatitude;//west //virtualLa = 90 - hisLatitude + myLatitude;//east } else { virtualLa = 360 + myLatitude - hisLatitude;//west // virtualLa = hisLatitude - myLatitude;//east } } else { virtualLa = 270 - myLatitude + hisLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } else { virtualLong = (myLongtitude + hisLongtitude - 180) / 2; //east if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { // virtualLa = 180 + myLatitude - hisLatitude;//west virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 - hisLatitude + myLatitude;//east } else { // virtualLa = 360 + myLatitude - hisLatitude;//west virtualLa = hisLatitude - myLatitude;//east } } else { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } } } else { if (hisLongtitude > 0) { if (hisLongtitude - myLongtitude - 180 < 0) { virtualLong = (myLongtitude - hisLongtitude) / 2; //east if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { // virtualLa = 180 + myLatitude - hisLatitude;//west virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 - hisLatitude + myLatitude;//east } else { // virtualLa = 360 + myLatitude - hisLatitude;//west virtualLa = hisLatitude - myLatitude;//east } } else { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } else { virtualLong = (hisLongtitude - myLongtitude - 360) / 2; //west if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { virtualLa = 180 + myLatitude - hisLatitude;//west // virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { virtualLa = 270 - myLatitude + hisLatitude;//west //virtualLa = 90 - hisLatitude + myLatitude;//east } else { virtualLa = 360 + myLatitude - hisLatitude;//west // virtualLa = hisLatitude - myLatitude;//east } } else { virtualLa = 270 - myLatitude + hisLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } } else { if (myLongtitude - hisLongtitude > 0) { virtualLong = (hisLongtitude - myLongtitude) / 2; //west if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { virtualLa = 180 + myLatitude - hisLatitude;//west // virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { virtualLa = 270 - myLatitude + hisLatitude;//west //virtualLa = 90 - hisLatitude + myLatitude;//east } else { virtualLa = 360 + myLatitude - hisLatitude;//west // virtualLa = hisLatitude - myLatitude;//east } } else { virtualLa = 270 - myLatitude + hisLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } else { virtualLong = (myLongtitude - hisLongtitude) / 2; //east if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { // virtualLa = 270 + hisLatitude - myLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } else { // virtualLa = 180 + myLatitude - hisLatitude;//west virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 - hisLatitude + myLatitude;//east } else { // virtualLa = 360 + myLatitude - hisLatitude;//west virtualLa = hisLatitude - myLatitude;//east } } else { // virtualLa = 270 - myLatitude + hisLatitude;//west virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; } } } } } else { if (myLatitude - hisLatitude != 90 && myLatitude - hisLatitude != -90) { if (myLatitude > 0) { if (hisLatitude > 0) { if (hisLatitude - myLatitude > 0) { virtualLa = 0; virtualLong = myLatitude - hisLatitude; } else { virtualLa = 180; virtualLong = myLatitude - hisLatitude; } // virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { if (myLatitude - hisLatitude < 90) { virtualLa = 180; virtualLong = hisLatitude - myLatitude; // virtualLa = 270 + hisLatitude - myLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } else { virtualLa = 0; virtualLong = myLatitude - hisLatitude - 180; // virtualLa = 180 + myLatitude - hisLatitude;//west // virtualLa = 180 - myLatitude + hisLatitude;//east } } } else { if (hisLatitude > 0) { if (myLatitude - hisLatitude > -90) { virtualLa = 0; virtualLong = myLatitude - hisLatitude; // virtualLa = 270 - myLatitude + hisLatitude;//west //virtualLa = 90 - hisLatitude + myLatitude;//east } else { virtualLa = 180; virtualLong = hisLatitude - myLatitude - 180; // virtualLa = 360 + myLatitude - hisLatitude;//west // virtualLa = hisLatitude - myLatitude;//east } } else { if (myLatitude-hisLatitude < 0) { virtualLa = 0; virtualLong = myLatitude - hisLatitude; } else { virtualLa = 180; virtualLong = myLatitude - hisLatitude; } // virtualLa = 270 - myLatitude + hisLatitude;//west // virtualLa = 90 + myLatitude - hisLatitude;//east } } } else { virtualLa = -90; virtualLong = 0; } } /* if (myLongtitude - hisLongtitude < 0) { if (myLongtitude - hisLongtitude > -180) { virtualLong = (myLongtitude - hisLongtitude) / 2; virtualLa = 90 + myLatitude - hisLatitude; } else { virtualLong = (hisLongtitude - myLongtitude - 360) / 2; virtualLa = 90 - myLatitude + hisLatitude; } } else { if (myLongtitude - hisLongtitude < 180) { virtualLong = (hisLongtitude - myLongtitude) / 2; virtualLa = 90 + myLatitude - hisLatitude; } else { virtualLong = (myLongtitude - hisLongtitude - 360) / 2; virtualLa = 90 - myLatitude + hisLatitude; } } TextBlock countryNameText = new TextBlock() { Text = countryName }; SharpGIS.AR.Controls.ARPanel.SetDirection(countryNameText, new Point(0, 30)); panel.Children.Add(countryNameText); TextBlock countryNameText1 = new TextBlock() { Text = countryName }; SharpGIS.AR.Controls.ARPanel.SetDirection(countryNameText1, new Point(-10, 200)); panel.Children.Add(countryNameText1); TextBlock countryNameText2 = new TextBlock() { Text = countryName }; SharpGIS.AR.Controls.ARPanel.SetDirection(countryNameText2, new Point(-80, 90)); panel.Children.Add(countryNameText2); TextBlock countryNameText3 = new TextBlock() { Text = countryName }; SharpGIS.AR.Controls.ARPanel.SetDirection(countryNameText3, new Point(-30, 330)); panel.Children.Add(countryNameText3); */ Button countryNameBTN = new Button(); countryNameBTN.Content = countryName; countryNameBTN.Foreground = new SolidColorBrush(Colors.Red); countryNameBTN.Click += countryNameBTN_Click; countryNameBTN.BorderBrush = new SolidColorBrush(Colors.Transparent); countryNameBTN.BorderThickness = new Thickness(0); SharpGIS.AR.Controls.ARPanel.SetDirection(countryNameBTN, new Point(virtualLong, virtualLa)); panel.Children.Add(countryNameBTN); }
private void AddHeadingDots(SharpGIS.AR.Controls.ARPanel panel) { //Go 360 along the horizon to display heading text for (double heading = 20; heading < 360; heading += 20) { if (heading % 90 == 0) continue; //skip cardinal directions, since we already added markers for those in xaml TextBlock tb = new TextBlock() { Text = string.Format("{0}°", heading) }; SharpGIS.AR.Controls.ARPanel.SetDirection(tb, new Point(0, heading)); panel.Children.Add(tb); } //Display an up/down angle for each cardinal direction for (int i = 0; i < 360; i += 90) { for (int azimuth = -80; azimuth < 90; azimuth += 10) { if (azimuth == 0) continue; //skip cardinal directions, since we already added markers for those in xaml TextBlock tb = new TextBlock() { Text = string.Format("{0}", azimuth) }; SharpGIS.AR.Controls.ARPanel.SetDirection(tb, new Point(azimuth, i)); panel.Children.Add(tb); } } TextBlock tb1 = new TextBlock() { Text = "UK" }; SharpGIS.AR.Controls.ARPanel.SetDirection(tb1, new Point(51.500622, -0.126662)); panel.Children.Add(tb1); }