北京经济技术开发区经开区虚拟城市项目-【前端】-移动端Web
lixuliang
2024-03-15 626003e9beb59cf711f59f3b48087300070f121e
src/utils/map2.js
@@ -2207,8 +2207,10 @@
//openlayer 创建点位
window.pointArr = [];
export function createPointMarker(position, obj) {
    let positions = ol.proj.fromLonLat(position);
    let startFeature = new ol.Feature({
        geometry: new ol.geom.Point(position),
        geometry: new ol.geom.Point(positions),
    });
    startFeature.setProperties({
        desc: obj,
@@ -2266,7 +2268,10 @@
                        window.tdglLine = null;
                    }
                    var format = new ol.format.WKT(); // 创建一个 WKT 解析器
                    var feature = format.readFeature(response.data.geometry); // 解析 WKT 并生成要素对象
                    var feature = format.readFeature(response.data.geometry, {
                        dataProjection: 'EPSG:4326',
                        featureProjection: 'EPSG:3857'
                    }); // 解析 WKT 并生成要素对象
                    // 创建一个要素图层
                    window.tdglLine = new ol.layer.Vector({
@@ -2371,54 +2376,71 @@
        window.mapapi.forEachFeatureAtPixel(e.pixel, function (feature) {
            console.log(feature.getProperties(), 'aaa');
            //搜索的点位
            if (window.pointArr.length > 0) {
                let obj = feature.getProperties().desc
                objdata = {
                    POITYPE: "POINT",
                    name: obj.name,
                    address: obj.address,
                if (obj) {
                    objdata = {
                        POITYPE: "POINT",
                        name: obj.name,
                        address: obj.address,
                    }
                }
            } else {
                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 = {
@@ -2458,10 +2480,6 @@
                }
            }
            store.setTdglShow(false);
            store.setTdlgInfo({});
            store.setdwShow(true);
@@ -2479,8 +2497,8 @@
export function flyToPoint(posisitons) {
    window.mapapi.getView().animate({
        center: posisitons,
        zoom: 15,
        center: ol.proj.fromLonLat(posisitons),
        zoom: 18,
        duration: 1500
    })
}