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
index = " + e.fromitem.index + "
value = " + value; value = ""; if (e.toitem.index > -1) { _value = e.toitem.value; value = _value.province + _value.city + _value.district + _value.street + _value.business; } str += "
ToItem
index = " + e.toitem.index + "
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
index = " + e.item.index + "
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');

你可能感兴趣的:(layui后台项目中有关百度地图及其他用到的方法函数(记录))