private void LocationTo(string obj)
        {
            try
            {
                if (DDModeRex.IsMatch(SearctString))
                {
                    var langlat = SearctString.Split(',');
                    Latitude  = double.Parse(langlat[0]);
                    Longitude = double.Parse(langlat[1]);
                    if (langlat.Length == 3)
                    {
                        Altitude = double.Parse(langlat[2]);
                    }
                    else
                    {
                        Altitude = double.NaN;
                    }

                    FlayTo();
                }
                if (DMSModeRex.IsMatch(SearctString))
                {
                    if (Match())
                    {
                        FlayTo();
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        private bool Match()
        {
            var find = new Regex("((\\d+\\.)?\\d+)[°'\"M\\s+]");

            var m      = find.Match(SearctString);
            var result = new List <double>();

            while (m.Success)
            {
                for (var i = 1; i <= 1; i++)
                {
                    var g = m.Groups[i];
                    Debug.WriteLine("Group" + i + "='" + g + "'");
                    var cc = g.Captures;
                    for (var j = 0; j < cc.Count; j++)
                    {
                        var c = cc[j];
                        Debug.WriteLine("Capture" + j + "='" + c + "', Position=" + c.Index);

                        double convert;
                        if (double.TryParse(c.ToString(), out convert))
                        {
                            result.Add(convert);
                        }
                    }
                }
                m = m.NextMatch();
            }

            if (result.Count == 6)
            {
                Latitude  = result[0] + (result[1] + result[2] / 60) / 60;
                Longitude = result[3] + (result[4] + result[5] / 60) / 60;
                Latitude  = SearctString.Contains("N") ? Latitude : -Latitude;
                Longitude = SearctString.Contains("E") ? _longitude : -Longitude;
                Altitude  = double.NaN;
                return(true);
            }

            if (result.Count == 7)
            {
                Latitude  = result[0] + (result[1] + result[2] / 60) / 60;
                Longitude = result[3] + (result[4] + result[5] / 60) / 60;
                Latitude  = SearctString.Contains("N") ? Latitude : -Latitude;
                Longitude = SearctString.Contains("E") ? _longitude : -Longitude;
                Altitude  = result[6];
                return(true);
            }

            return(false);
        }