zoukankan      html  css  js  c++  java
  • 网上商城自动定位到最近的自提地点

    其实就是根据经纬度来计算最短的距离

      <nav onclick="TabControl_Either_Go();" style="right:0%;">
                    <div>
                        <img id="goGo_id" src="Pics/Go.png" alt="上门" />
                        <p id="titleGo_id">到店自取</p>
                    </div>
                </nav>

    这一个是执行的一个点击事件,点击后,执行一个js

    function TabControl_Either_Go() {
        //GetCurrentLocation();
        ShowPositionBMap();
        //According to where store being, show other information else.
        $("#tabcontrol_body_delivery").css("display", "none");
        $("#tabcontrol_body_go").css("display", "block");
        $("#goGo_id").attr("src", "Pics/Go_red.png");
        $("#titleGo_id").css("color", "#ff5477");
        $("#imgDelivery_id").attr("src", "Pics/Delivery.png");
        $("#titleDelivery_id").css("color", "#999999");
    }

    function ShowPositionBMap() {
        var geolocation = new BMap.Geolocation();
        geolocation.getCurrentPosition(function (po) {
            var lat = po.point.lat;
            var lng = po.point.lng;
            $.ajax({
                url: "/weixin/mshop/tools/HandleAddress.ashx",
                type: "POST",
                data: { lat: lat, lng: lng, action: "FindShop" },
                dataType: "json",
                success: function (data) {
                    if (data != String.empty) {
                        $("#go_address_stores").text(data[0]["name"]);
                    }
                    else {
                        $("#go_address_stores").text("请手动选择!");
                    }
                },
            });
        }, { enableHighAccuracy: true })
    }

     通过帮助类计算距离

     public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            String methodName = context.Request["action"];
            Type type = this.GetType();
            MethodInfo method = type.GetMethod(methodName);
            if (method == null) throw new Exception("method is null");
            object obj = null;
            try
            {
                object[] parm = new object[1];
                parm[0] = context;
                obj = method.Invoke(this, parm);
            }
            catch (Exception ex)
            {
                obj = "{" + String.Format(""result":"{0}","msg":"{1}"", -1, "操作失败" + ex.Message) + "}";
            }
            context.Response.Clear();
            context.Response.Write(obj.ToString());
            context.Response.End(); 
            
            string methodype = context.Request["action"].ToString();
            if (methodype == "FindShop")
            {
                FindShop(context);
            }
        }
        //从数据库里面把自己的经纬度查找出来,再计算
        public String FindShop (HttpContext context) {
            HttpRequest request = context.Request;
            String sql = string.Format("select top 1 * from dbo.company order by ABS((CAST(lng as float)-{0})+(cast(lat as float)-{1}));",request["lng"],request["lat"]);
            var dataset = TeenySoft.Query.DBComm.GetDataSetBySql(sql, null, "Server=localhost;Database=MedYX;uid=sa;Password=123456;Persist Security Info=true;");
            
            if (dataset != null)
            {
                var dataTable = dataset.Tables[0];
                JavaScriptSerializer js = new JavaScriptSerializer();
                List<Dictionary<String, Object>> list = new List<Dictionary<String, Object>>();
                Dictionary<String, Object> result = new Dictionary<String, Object>();
                result.Add("name", dataTable.Rows[0]["name"].ToString());
                list.Add(result);
                return js.Serialize(list);
            }
            return String.Empty;
        }
  • 相关阅读:
    学习方法与经验总结
    工具综合症?资料收集狂?
    SpringMVC 过滤器Filter使用解析
    Spring 管理Filter和Servlet
    pom.xml配置详解
    开发Java web应用程序的介绍
    java web构建学习(概念基础)
    题目1474:矩阵幂
    题目1473:二进制数
    Python strip()方法
  • 原文地址:https://www.cnblogs.com/superMay/p/6182444.html
Copyright © 2011-2022 走看看