Pu Zhibing
2025-04-17 f4e12a183070e9fc1db174dfb7f1c9a59f7763a1
ManagementOKTravel/guns-admin/src/main/webapp/static/home.js
@@ -10,7 +10,6 @@
    businessType:null,//存储企业信息
};
/**
 * 初始化表格的列
 */
@@ -59,14 +58,13 @@
 * 点击添加信息
 */
Home.openNetCarInfo = function (e) {
    var id = e.getExtData()[0];
    var index = layer.open({
        type: 2,
        title: '详细数据',
        area: ['770px', '500px'], //宽高
        fix: false, //不固定
        maxmin: true,
        content: Feng.ctxPath + '/home/openNetCarInfo?id=' + id,
        content: Feng.ctxPath + '/home/openNetCarInfo?id=' + e,
    });
    this.layerIndex = index;
};
@@ -181,18 +179,19 @@
var map = new AMap.Map('container',{
    resizeEnable: true,
    zoom:10
});
var map = new BMapGL.Map('container');
var point = new BMapGL.Point(114.322492,  29.841443);
map.enableScrollWheelZoom(true);
map.centerAndZoom(point, 13);
var map_ = new AMap.Map('container_',{
    resizeEnable: true,
    mapStyle: 'amap://styles/1de318cbb8d12c02303a22c550b9ccc9',
    zoom:10
});
// var map_ = new AMap.Map('container_',{
//     resizeEnable: true,
//     mapStyle: 'amap://styles/1de318cbb8d12c02303a22c550b9ccc9',
//     zoom:10
// });
var map_ = new BMapGL.Map('container_'); // 创建Map实例
map_.centerAndZoom(new BMapGL.Point(114.322492,  29.841443), 13); // 初始化地图,设置中心点坐标和地图级别
map_.enableScrollWheelZoom(true); // 开启鼠标滚轮缩放
var mouseTool = new AMap.MouseTool(map);
//监听draw事件可获取画好的覆盖物
var overlays = [];
@@ -354,38 +353,41 @@
            companyId: companyId
        },
        success: function (res) {
            map.remove(markers);
            markers = [];
            var data = res.driver;
            var order = res.order;
            var d = '';
            var markerArray = []; // 用于存储所有标记对象的数组
            for(var i in data){
                var driver = data[i].driver;
                var driverId = driver.id;
                d += '<li class="list-group-item" id="' + driverId + '">' + driver.name + '-' + driver.phone + '</li>';
                if('' != data[i].lon){
                    // 创建 AMap.Icon 实例:
                    var icon = new AMap.Icon({
                        size: new AMap.Size(40, 50),    // 图标尺寸
                        image: '/static/car.png',  // Icon的图像
                        // imageOffset: new AMap.Pixel(0, -60),  // 图像相对展示区域的偏移量,适于雪碧图等
                        imageSize: new AMap.Size(40, 50),   // 根据所设置的大小拉伸或压缩图片
                    var point = new BMapGL.Point(data[i].lon, data[i].lat);
                    // 创建小车图标
                    var myIcon = new BMapGL.Icon("/static/car.png", new BMapGL.Size(40, 40));
                    // 创建Marker标注,使用小车图标
                    var marker = new BMapGL.Marker(point, {
                        icon: myIcon
                    });
                    var marker = new AMap.Marker({
                        position: new AMap.LngLat(data[i].lon, data[i].lat),   // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
                        offset: new AMap.Pixel(-10, -10),
                        icon: icon, // 添加 Icon 实例
                    });
                    marker.setExtData([driverId])
                    marker.on('click', function(){
                        Home.openNetCarInfo(this);
                    });
                    markers.push(marker)
                    // 使用立即执行函数表达式 (IIFE) 捕获当前的 driverId
                    (function(driverId) {
                        marker.addEventListener('click', function () {
                            Home.openNetCarInfo(driverId);
                        });
                    })(driverId);
                    // markers.push(marker)
                    markerArray.push(marker); // 将标记对象添加到数组中
                }
            }
            // 清除之前的标记
            map.clearOverlays();
            // 批量添加所有标记到地图
            for (var j = 0; j < markerArray.length; j++) {
                map.addOverlay(markerArray[j]);
            }
            $('#netcardriver').html(d);
            map.add(markers);
            //订单数据
            var zhuanche = order.zhuanche;
@@ -421,44 +423,19 @@
            uid: uid
        },
        success: function (res) {
            var style = [{
                url: 'https://a.amap.com/jsapi_demos/static/images/mass0.png',
                anchor: new AMap.Pixel(6, 6),
                size: new AMap.Size(11, 11)
            }, {
                url: 'https://a.amap.com/jsapi_demos/static/images/mass1.png',
                anchor: new AMap.Pixel(4, 4),
                size: new AMap.Size(7, 7)
            }, {
                url: 'https://a.amap.com/jsapi_demos/static/images/mass2.png',
                anchor: new AMap.Pixel(3, 3),
                size: new AMap.Size(5, 5)
            }];
            var mass = new AMap.MassMarks(citys, {
                opacity: 0.8,
                zIndex: 111,
                cursor: 'pointer',
                style: style
            });
            var marker = new AMap.Marker({content: ' ', map: map_});
            mass.on('mouseover', function (e) {
                marker.setPosition(e.data.lnglat);
                marker.setLabel({content: e.data.name})
            });
            map_.clearOverlays();
            // 创建点标记
            // 在地图上添加点标记
            var data = [];
            console.log("看看返回参数")
            console.log(res)
            for(var i in res){
                var obj = {
                    lnglat: [res[i].lon, res[i].lat]
                if (res[i].lon!="" && res[i].lat!=""){
                    var marker = new BMapGL.Marker(new BMapGL.Point(res[i].lon,res[i].lat ));
                    map_.addOverlay(marker);
                }
                data.push(obj);
            }
            mass.setData(data);
            mass.setMap(map_);
        }
    });
}