Example #1
0
 /// <summary>
 /// 使用指定的上下文和区域性信息将给定的值对象转换为指定的类型[转换为显示对象]
 /// </summary>
 /// <param name="context">提供格式上下文</param>
 /// <param name="culture">如果传递 null,则采用当前区域性</param>
 /// <param name="value">要转换的 Object</param>
 /// <param name="destinationType">value 参数要转换成的 Type</param>
 /// <returns>表示转换的 value 的 Object</returns>
 public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
 {
     if (context.PropertyDescriptor.PropertyType == ClrSystemType.DoubleType)
     {
         return(PostureCommon.ConvertToCoorString(Convert.ToDouble(value)));
     }
     else
     {
         return(base.ConvertTo(context, culture, value, destinationType));
     }
 }
Example #2
0
 /// <summary>
 /// 使用指定的上下文和区域性信息将给定的对象转换为此转换器的类型[从显示文本转换为真实对象]
 /// </summary>
 /// <param name="context">提供格式上下文</param>
 /// <param name="culture">用作当前区域性的 CultureInfo</param>
 /// <param name="value">要转换的 Object</param>
 /// <returns>表示转换的 value 的 Object</returns>
 public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
 {
     if (context.PropertyDescriptor.PropertyType == ClrSystemType.DoubleType)
     {
         double realValue;
         if (PostureCommon.ConvertCoordStrToCoord(value, out realValue))
         {
             return(realValue);
         }
         else
         {
             return(base.ConvertFrom(context, culture, value));
         }
     }
     else
     {
         return(base.ConvertFrom(context, culture, value));
     }
 }
Example #3
0
        /// <summary>
        /// 转换经纬度坐标字符串为经纬度坐标值[转换成功返回true,否则返回false]
        /// </summary>
        /// <param name="objLongitude">经度坐标字符串值</param>
        /// <param name="objLatitude">纬度坐标字符串值</param>
        /// <param name="longitude">经度值</param>
        /// <param name="latitude">纬度值</param>
        /// <returns>转换成功返回true,否则返回false</returns>
        public static bool ConvertCoordStrToCoord(object objLongitude, object objLatitude, out double longitude, out double latitude)
        {
            longitude = 0;
            latitude  = 0;

            try
            {
                //80°20′52″
                if (!PostureCommon.ConvertCoordStrToCoord(objLongitude, out longitude))
                {
                    return(false);
                }

                return(PostureCommon.ConvertCoordStrToCoord(objLatitude, out latitude));
            }
            catch (Exception ex)
            {
                Loger.Debug(ex);
                return(false);
            }
        }
Example #4
0
 /// <summary>
 /// 判断经度或纬度是否是无效的[true:无效,false:有效]
 /// </summary>
 /// <param name="longitude">经度</param>
 /// <param name="latitude">纬度</param>
 /// <param name="invalidLongitude">无效经度值</param>
 /// <param name="invalidLatitude">无效纬度值</param>
 /// <returns>经度或纬度是否是无效的[true:无效,false:有效]</returns>
 public static bool IsNoValid(double longitude, double latitude, double invalidLongitude, double invalidLatitude)
 {
     return(PostureCommon.LongitudeIsNoValid(longitude, invalidLongitude) || PostureCommon.LatitudeIsNoValid(latitude, invalidLatitude));
 }