layui后台项目中有关百度地图及其他用到的方法函数(记录)

1、截取小数点后六位数字

        function getnum(s) {
            var result = s.substring(0, s.indexOf(".") + 7);
            return result
        }

2、分钟数转换为 小时:分钟

        function ChangeHourMinutestr(str) {
            if (str !== "0" && str !== "" && str !== null) {
                return ((Math.floor(str / 60)).toString().length < 2 ? "0" + (Math.floor(str / 60)).toString() :
                    (Math.floor(str / 60)).toString()) + ":" + ((str % 60).toString().length < 2 ? "0" + (str % 60).toString() : (str % 60).toString());
            }
            else {
                return "";
            }
        }

3、layui弹窗实例百度地图,点击定位,拖拽定位的函数

       // 第一个参数传地图容器id,第二个参数传input的id(之所以传输入框id,是因为要输入地址,并且将地址经纬度绑定在输入框上,如果觉得这样搜索地址并得到经纬度比较麻烦,可以看4方法)
        var openMap = function (mapContainerId, inputId) {
            // console.log(1)
            layer.open({
                type: 1,
                area: "800px",
                title: "百度地图",
                content: $(mapContainerId),
                success: function () {
                    var map = new BMap.Map(mapContainerId); // 创建地图实例 
                    map.enableScrollWheelZoom();   //启用滚轮放大缩小,默认禁用
                    var point = new BMap.Point(116.404, 39.915); // 创建点坐标 
                    map.centerAndZoom(point, 18);
                    function myFun(result) {
                        var cityName = result.name;
                        map.setCenter(cityName);
                        // alert("当前定位城市:"+cityName);
                        console.log(result)
                    }
                    var myCity = new BMap.LocalCity();
                    myCity.get(myFun);
                    var marker = new BMap.Marker(map.getCenter());  // 创建标注
                    map.addOverlay(marker);               // 将标注添加到地图中
                    marker.enableDragging();                //可拖拽
                    marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
                    map.addEventListener("click", function (e) {
                        // alert(e.point.lng+","+e.point.lat);// 单击地图获取坐标点;
                        //获取当前地理名称
                        var point = new BMap.Point(e.point.lng, e.point.lat);
                        var gc = new BMap.Geocoder();
                        gc.getLocation(point, function (rs) {
                            var addComp = rs.addressComponents;
                            // console.log(rs)
                            // alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
                            //将输入框赋值
                            $(inputId).attr("startingLon", e.point.lng).attr("startingLat", e.point.lat)
                            $(inputId).val(rs.address + " " + rs.surroundingPois.length ? rs.surroundingPois[0].title : "")
                        });
                        map.panTo(new BMap.Point(e.point.lng, e.point.lat));// map.panTo方法,把点击的点设置为地图中心点  
                    });
                    marker.addEventListener("dragend", function (e) {
                        //拖拽标注获取标注坐标
                        // alert("当前位置:" + e.point.lng + ", " + e.point.lat);//可拖拽的标注
                        //获取当前地理名称
                        var point = new BMap.Point(e.point.lng, e.point.lat);
                        var gc = new BMap.Geocoder();
                        gc.getLocation(point, function (rs) {
                            var addComp = rs.addressComponents;
                            // alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
                            //将输入框赋值
                            $(inputId).attr("startingLon", e.point.lng).attr("startingLat", e.point.lat)
                            $(inputId).val(rs.address + " " + rs.surroundingPois ? rs.surroundingPois[0].title : "")
                        });
                    })
                    //加载完成之后,改变标注点坐标,使之和当前定位的城市基本相符
                    map.addEventListener("tilesloaded", function () {
                        var newpoint = map.getCenter();
                        marker.setPosition(newpoint);
                    });
                },
                cancel: function () {
                    // console.log(1)
                }
            });
        }

4、layui结合百度地图

function layuiMap(){
	//百度地图部分
        var map = new BMap.Map("container");          // 创建地图实例  
        map.enableScrollWheelZoom();   //启用滚轮放大缩小,默认禁用
        map.centerAndZoom("北京", 12);                 // 初始化地图,设置中心点坐标和地图级别
        map.enableScrollWheelZoom(true);              //开启鼠标滚轮缩放
//下面是地址智能搜索部分,官网有demo
        function G(id) {
            return document.getElementById(id);
        }

        var ac = new BMap.Autocomplete({             //建立一个自动完成的对象
            "input": "spotAdress",
            "location": map
        });

        ac.addEventListener("onhighlight", function (e) {  //鼠标放在下拉列表上的事件
            var str = "";
            var _value = e.fromitem.value;
            var value = "";
            if (e.fromitem.index > -1) {
                value = _value.province + _value.city + _value.district + _value.street + _value.business;
            }
            str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value;

            value = "";
            if (e.toitem.index > -1) {
                _value = e.toitem.value;
                value = _value.province + _value.city + _value.district + _value.street + _value.business;
            }
            str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value;
            G("searchResultPanel").innerHTML = str;
        });

        var myValue;
        ac.addEventListener("onconfirm", function (e) {    //鼠标点击下拉列表后的事件
            var _value = e.item.value;
            myValue = _value.province + _value.city + _value.district + _value.street + _value.business;
            G("searchResultPanel").innerHTML = "onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue;

            setPlace()
        });

        function setPlace() {
            map.clearOverlays()   //清除地图上所有的覆盖物

            function myFun() {
                var pp = local.getResults().getPoi(0).point;//获取第一个智能搜索结果
                map.centerAndZoom(pp, 18);
                map.addOverlay(new BMap.Marker(pp));//添加标注
                console.log(myValue, "输出输入框值")
                //搜索输入框内地址的经纬度
                local.setSearchCompleteCallback(function (searchResult) {
                    var poi = searchResult.getPoi(0);
                    // console.log(poi.point.lng, poi.point.lat, "经纬度")
                    $("#spotAdress").attr("startinglon", poi.point.lng).attr("startinglat", poi.point.lat)
                });
                local.search(myValue);
            }
            var local = new BMap.LocalSearch(map, {//智能搜索
                onSearchComplete: myFun
            });
            local.search(myValue);


        }

        var marker = new BMap.Marker(map.getCenter());  // 创建标注
        map.addOverlay(marker);               // 将标注添加到地图中
        marker.enableDragging();                //可拖拽
        marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
        map.addEventListener("click", function (e) {
            // alert(e.point.lng+","+e.point.lat);// 单击地图获取坐标点;
            //获取当前地理名称
            var point = new BMap.Point(e.point.lng, e.point.lat);
            var gc = new BMap.Geocoder();
            gc.getLocation(point, function (rs) {
                var addComp = rs.addressComponents;
                // alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
                //将输入框赋值
                $("#spotAdress").attr("lon", e.point.lng).attr("lat", e.point.lat)
                $("#spotAdress").val(addComp.city + "" + addComp.district + "" + addComp.street + "" + addComp.streetNumber)
            });
            map.panTo(new BMap.Point(e.point.lng, e.point.lat));// map.panTo方法,把点击的点设置为地图中心点  
        });
        marker.addEventListener("dragend", function (e) {
            //拖拽标注获取标注坐标
            // alert("当前位置:" + e.point.lng + ", " + e.point.lat);//可拖拽的标注
            //获取当前地理名称
            var point = new BMap.Point(e.point.lng, e.point.lat);
            var gc = new BMap.Geocoder();
            gc.getLocation(point, function (rs) {
                var addComp = rs.addressComponents;
                // console.log(addComp,"当前地理位置信息")
                // alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
                //将输入框赋值
                $("#spotAdress").attr("lon", e.point.lng).attr("lat", e.point.lat)
                $("#spotAdress").val(addComp.city + "" + addComp.district + "" + addComp.street + "" + addComp.streetNumber)
            });
        })
        //加载完成之后,改变标注点坐标,使之和当前定位的城市基本相符
        map.addEventListener("tilesloaded", function () {
            var newpoint = map.getCenter();
            marker.setPosition(newpoint);
        });
}

5、获取选中的复选框的value

$("input[name='which']:checked").val()//这里name对应复选框的name值

6、layer.open({})方法打开一个iframe页时,获取iframe页的方法

var body = layer.getChildFrame('body', index);
var iframeWin = window[layero.find('iframe')[0]['name']];
//然后就可以通过body.find("节点")来获取节点进行dom操作

7、layui数据表格进行增删改的时候,需要刷新表格数据,则可以再打开的iframe页刷新父窗口

 xadmin.father_reload();

或者可以将表格绑定一个id,然后调用


//html部分     table标签添加   lay-data="{id: 'testReload'}"
//js部分
var data = obj.data//data是表格数据
table.render({
	id:"testReload"
})
table.reload('testReload', {
      page: {
           curr: 1 //重新从第 1 页开始,固定写法
      }
}, 'data');
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值