Beispiel #1
0
        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);
        }
Beispiel #2
0
 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);
 }
Beispiel #3
0
        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);



        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
		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);
		}