北京经济技术开发区经开区虚拟城市项目-【前端】-移动端Web
ZhAkps
2024-02-06 26385d2c91d763259eb1ef55c3255e5ca01717a5
src/utils/map2.js
@@ -2203,6 +2203,7 @@
//openlayer 创建点位
window.pointArr = [];
export function createPointMarker(position, obj) {
    let startFeature = new ol.Feature({
        geometry: new ol.geom.Point(position),
@@ -2210,6 +2211,12 @@
    startFeature.setProperties({
        desc: obj,
    });
    if (window.pointArr && window.pointArr.length > 0) {
        window.pointArr.forEach(item => {
            window.map.removeLayer(item)
        })
        window.pointArr = []
    }
    let MarkerLayer = new ol.layer.Vector({
        id: 'LocationPoint',
        name: '标记点',
@@ -2229,25 +2236,134 @@
        }),
        zIndex: 1099,
    })
    window.pointArr.push(MarkerLayer)
    return MarkerLayer;
}
//openlayer 地图点击事件
export function setClick(state) {
    let ponitPanel = document.getElementById('ponitPanel');
    let overlay = new ol.Overlay({
        element: ponitPanel,
        autoPan: {
            animation: {
                duration: 250,
            },
        },
    });
    window.map.addOverlay(overlay);
    function handleClick(e) {
        console.log(e.coordinate);
        // 土地管理
        if (store.tdglInfo.flag) {
            axios
                .get(
                    // "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 + "yzxncsApi/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=" +
                    e.coordinate[0] +
                    "&lat=" +
                    e.coordinate[1] +
                    "&geom=true&requesttype=json"
                ).then(response => {
                    let center = { lon: 0, lat: 0 };
                    if (window.tdglLine) {
                        window.map.removeLayer(window.tdglLine);
                        window.tdglLine = null;
                    }
                    var format = new ol.format.WKT(); // 创建一个 WKT 解析器
                    var feature = format.readFeature(response.data.geometry); // 解析 WKT 并生成要素对象
                    // 创建一个要素图层
                    window.tdglLine = new ol.layer.Vector({
                        source: new ol.source.Vector({
                            features: [feature] // 将要素对象加入到图层源中
                        })
                    });
                    window.map.addLayer(window.tdglLine)
                    axios
                        .get(
                            // "http://10.10.4.115:8022//poisearch/guihuacon/getInfo?ydbm=" +
                            window.gisBaseUrl + "yzxncsApi/poisearch/guihuacon/getInfo?ydbm=" +
                            response.data.NO
                        )
                        .then(
                            info => {
                                let data = info.data.data;
                                if (data.yongdishuju === null) {
                                    objdata = {
                                        POITYPE: "NOTDGL",
                                        zwxx: "暂无信息",
                                        lon: window.clickPOI.lon,
                                        lat: window.clickPOI.lat,
                                    }
                                } else {
                                    qiyexinxi = info.data.data.qiyexinxi;
                                    qysl = data.qiyexinxi.length;
                                    if (qysl > 0) {
                                        ydbm = data.qiyexinxi[0]["地块编号"];
                                    } else {
                                        ydbm = data.churangxinxi["ydbh"];
                                    }
                                    try {
                                        ydlx = data.yongdishuju["ydlxmc"];
                                    } catch (e) { }
                                    try {
                                        cyfx = data.yongdishuju["cyfx"];
                                    } catch (e) { }
                                    try {
                                        // this.crzt = response.data["ZT"];
                                        switch (response.data["ZT"]) {
                                            case 3:
                                                crzt = "已出让";
                                                break;
                                            case 4:
                                                crzt = "未出让";
                                                break;
                                        }
                                    } catch (e) { }
                                    try {
                                        ydmj = parseFloat(
                                            "" + data.yongdishuju["ydmj"]
                                        ).toFixed(0);
                                    } catch (e) { }
                                    try {
                                        crnx = data.churangxinxi["crnx"];
                                    } catch (e) { }
                                    try {
                                        crnf = data.churangxinxi["crnf"];
                                    } catch (e) { }
                                    try {
                                        rjl = data.yongdishuju["rjl"];
                                    } catch (e) { }
                                    try {
                                        jzxg = data.yongdishuju["jzxg"];
                                    } catch (e) { }
                                    try {
                                        jzmd = data.yongdishuju["jzmd"];
                                    } catch (e) { }
                                    objdata = {
                                        POITYPE: "TDGL",
                                        ydbm,
                                        ydlx,
                                        cyfx,
                                        crzt,
                                        ydmj,
                                        ydbm,
                                        crnx,
                                        crnf,
                                        rjl,
                                        jzxg,
                                        jzmd,
                                        lon: e.coordinate[0],
                                        lat: e.coordinate[1],
                                    }
                                }
                                store.setTdglShow(false);
                                store.setTdlgInfo({});
                                store.setTdglShow(true);
                                store.setTdlgInfo(objdata);
                            }
                        );
                })
            return;
        }
        window.map.forEachFeatureAtPixel(e.pixel, function (feature) {
            if (feature && feature.values_.desc) {
                ponitPanel.style.display = 'block'
                let obj = feature.values_.desc
                objdata = {
                    POITYPE: "POINT",