北京经济技术开发区经开区虚拟城市项目-【前端】-移动端Web
lixuliang
2024-03-13 15e98a158deec4d0f8443f22e77489f1f2451500
src/utils/map2.js
@@ -2245,6 +2245,8 @@
//openlayer 地图点击事件
export function setClick(state) {
    function handleClick(e) {
        let coordinate = ol.proj.toLonLat(e.coordinate)
        // console.log(coordinate, '地图点击')
        store.setLayerPanelShow(false);
        // 土地管理
        if (store.tdglInfo.flag) {
@@ -2253,9 +2255,9 @@
                    // "http://10.10.4.115:8022/geowinmap_xncs/ds?r=0.9158559377752831&serviceproviderid=map.vectorserviceprovider&serviceid=queryfeature&featcls=225%25E8%258C%2583%25E5%259B%25B4%25E5%2588%2586%25E5%258C%25BA%25E8%25A7%2584%25E5%2588%2592.geojson&lng=" +
                    window.gisBaseUrl + "BEApi/cs/geowinmap_xncs/ds?r=0.9158559377752831&serviceproviderid=map.vectorserviceprovider&serviceid=queryfeature&featcls=225%25E8%258C%2583%25E5%259B%25B4%25E5%2588%2586%25E5%258C%25BA%25E8%25A7%2584%25E5%2588%2592.geojson&lng=" +
                    // window.gisBaseUrl + "cs/geowinmap_xncs/ds?&lng=" +
                    e.coordinate[0] +
                    coordinate[0] +
                    "&lat=" +
                    e.coordinate[1] +
                    coordinate[1] +
                    "&geom=true&requesttype=json"
                ).then(response => {
                    let center = { lon: 0, lat: 0 };
@@ -2382,41 +2384,57 @@
                let properties = feature.getProperties().features[0].values_;
                for (const propertyNames in properties) {
                    if (propertyNames.indexOf("监控名") !== -1) {
                        // objdata = {
                        //     POITYPE: "SPJK",
                        //     name: properties["JK名称"]._value,
                        //     type: properties["JK类型"]._value,
                        //     function: properties["功能"]._value,
                        //     area: properties["所在区"]._value,
                        //     number: properties["JK编号"]._value,
                        //     code: properties["JK内码"]._value,
                        //     lon: lon,
                        //     lat: lat,
                        // }
                        Message({
                            message: '连接状态查询中',
                        const infoM = Message({
                            message: '该点位视频监控查询中,请稍后',
                            type: 'info',
                            offset: 60,
                            offset: 75,
                            center: true,
                            duration: 1000,
                            duration: 0,
                        });
                        layerOpen(properties["JK名称"], {
                            width: "100%",
                            height: "40%",
                            // offset: [offsetTop + "px", "380px"],
                            url: "../../static/video/video.html?code=" + properties["JK内码"],
                            fn: {
                                success: (layero, index) => {
                                    SmartEarthPopupData.layerContainer = layero;
                                },
                                end: () => {
                        axios
                            .get(
                                // 请求在线状态
                                window.gisBaseUrl + "BEApi/getCameraDetails?cameraIndexCode=" +
                                properties["JK内码"]
                            ).then(res => {
                                if (res.data.data.status == 1) {
                                    infoM.close();
                                    Message({
                                        message: '视频监控在线中',
                                        type: 'success',
                                        offset: 75,
                                        center: true,
                                        duration: 2000,
                                    });
                                    layerOpen(properties["JK名称"], {
                                        width: "100%",
                                        height: "40%",
                                        // offset: [offsetTop + "px", "380px"],
                                        url: "../../static/video/video.html?code=" + properties["JK内码"],
                                        fn: {
                                            success: (layero, index) => {
                                                SmartEarthPopupData.layerContainer = layero;
                                            },
                                            end: () => {
                                },
                                cancel: () => {
                                            },
                                            cancel: () => {
                                },
                            },
                        });
                                            },
                                        },
                                    });
                                } else {
                                    infoM.close();
                                    Message({
                                        message: '该点位视频监控离线中',
                                        type: 'errer',
                                        offset: 75,
                                        center: true,
                                        duration: 2000,
                                    });
                                    return
                                }
                            })
                        return
                    } else if (propertyNames.indexOf("部件名称") !== -1) {
                        objdata = {
@@ -2481,4 +2499,24 @@
        zoom: 15,
        duration: 1500
    })
}
}
//监听地图双击事件
export function touchClick() {
    let dom = document.getElementById('openlayerContainer');
    dom.addEventListener('touchstart', onTouchStart);
    function onTouchStart(e) {
        let len = e.touches.length;
        if (len === 2) {
            window.mapapi.getView().animate({
                center: window.mapapi.getView().getCenter(),
                zoom: window.mapapi.getView().getZoom() - 1,
                duration: 1000,
            });
        }
    }
}