/// <summary>
        /// 得到一个对象实体
        /// </summary>
        public gps GetModel(string lng, string lat)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select  top 1 id,lng,lat,offset_x,offset_y,offset_lng,offset_lat ");
            strSql.Append(" FROM gps ");
            strSql.Append(" where lng=@lng and lat=@lat");
            SqlParameter[] parameters =
            {
                new SqlParameter("@lng", SqlDbType.VarChar),
                new SqlParameter("@lat", SqlDbType.VarChar)
            };
            parameters[0].Value = lng;
            parameters[1].Value = lat;
            gps     model = new gps();
            DataSet ds    = DbHelperSQL.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                if (ds.Tables[0].Rows[0]["id"].ToString() != "")
                {
                    model.id = int.Parse(ds.Tables[0].Rows[0]["id"].ToString());
                }
                model.lng        = ds.Tables[0].Rows[0]["lng"].ToString();
                model.lat        = ds.Tables[0].Rows[0]["lat"].ToString();
                model.offset_x   = ds.Tables[0].Rows[0]["offset_x"].ToString();
                model.offset_y   = ds.Tables[0].Rows[0]["offset_y"].ToString();
                model.offset_lng = ds.Tables[0].Rows[0]["offset_lng"].ToString();
                model.offset_lat = ds.Tables[0].Rows[0]["offset_lat"].ToString();
            }
            return(model);
        }
예제 #2
0
        public void ConvertLngLat(string lng, string lat, out string newlng, out string newlat)
        {
            string olng = lng;
            string olat = lat;

            lng = lng.Substring(0, lng.IndexOf(".") + 2);
            lat = lat.Substring(0, lat.IndexOf(".") + 2);
            gps    gpsbll  = new gps();
            int    i       = 0;
            string lngtemp = lng;
            string lattemp = lat;
            double j       = 0.1;
            gps    model   = null;

            model = gpsbll.GetModel(lngtemp, lattemp);
            while (model == null)
            {
                switch (i)
                {
                case 0:
                    lngtemp = (Convert.ToDouble(lng) + j) + "";
                    i++;
                    break;

                case 1:
                    lattemp = (Convert.ToDouble(lat) + j) + "";
                    i++;
                    break;

                case 2:
                    lngtemp = (Convert.ToDouble(lng) - j) + "";
                    i++;
                    break;

                case 3:
                    lattemp = (Convert.ToDouble(lat) - j) + "";
                    i++;
                    break;

                case 4:
                    lngtemp = (Convert.ToDouble(lng) + j) + "";
                    lattemp = (Convert.ToDouble(lat) + j) + "";
                    i++;
                    break;

                case 5:
                    lngtemp = (Convert.ToDouble(lng) - j) + "";
                    lattemp = (Convert.ToDouble(lat) - j) + "";
                    i++;
                    break;

                case 6:
                    lngtemp = (Convert.ToDouble(lng) + j) + "";
                    lattemp = (Convert.ToDouble(lat) - j) + "";
                    i++;
                    break;

                case 7:
                    lngtemp = (Convert.ToDouble(lng) - j) + "";
                    lattemp = (Convert.ToDouble(lat) + j) + "";
                    i       = 0;
                    j       = j + 0.1;
                    break;

                default:
                    break;
                }
                model = gpsbll.GetModel(lngtemp, lngtemp);
            }
            newlng = (Convert.ToDouble(olng) + Convert.ToDouble(model.offset_lng)) + "";
            newlat = (Convert.ToDouble(olat) + Convert.ToDouble(model.offset_lat)) + "";
        }