Exemplo n.º 1
0
        /// <summary>
        /// 坐标互转
        /// </summary>
        /// <param name="lng">经度</param>
        /// <param name="lat">纬度</param>
        /// <param name="from">待转换的坐标类型</param>
        /// <param name="to">最终转换成的坐标类型</param>
        /// <returns></returns>
        public static Map ConvertAll(double lng, double lat, MapEnum from, MapEnum to)
        {
            //google 坐标转百度链接   //http://api.map.baidu.com/ag/coord/convert?from=2&to=4&x=&y=
            //gps坐标的type=0
            //google坐标的type=2
            //baidu坐标的type=4
            string path = "http://api.map.baidu.com/ag/coord/convert?from=" + from.GetHashCode() + "&to=" + to.GetHashCode() + "&x=" + lng + "+&y=" + lat;

            //使用http请求获取转换结果、得到返回的结果
            string res = HttpHelper.GET(path).ToString();
            //处理结果
            MapJson json = JsonHelper.JsonDeserialize <MapJson>(res);
            Map     map  = new Map();

            if (json.X != null)
            {
                byte[] outputb = Convert.FromBase64String(json.X);
                map.X = Convert.ToDouble(Encoding.Default.GetString(outputb));
            }
            if (json.Y != null)
            {
                byte[] outputb = Convert.FromBase64String(json.Y);
                map.Y = Convert.ToDouble(Encoding.Default.GetString(outputb));
            }
            return(map);
        }