管灌系统巡查员智能手机App
app/src/main/assets/js/map.js
@@ -19,6 +19,7 @@
    });
    window.onload = function () {
        console.log(window.onload);  // 打印数组数据
        //加载坐标点
        window.Android.loadMarker();
    };
@@ -30,12 +31,12 @@
            "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=d8beed89b43160a9a185e5aff431f85d";
        //创建自定义图层对象
        //影像注记(地图上的地址)
        var imgURL2 ="http://t0.tianditu.gov.cn/cia_w/wmts?" +"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
        "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}" +
        "&tk=d8beed89b43160a9a185e5aff431f85d";
        var imgURL2 = "http://t0.tianditu.gov.cn/cia_w/wmts?" + "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
            "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}" +
            "&tk=d8beed89b43160a9a185e5aff431f85d";
        var lay = new T.TileLayer(imageURL, { minZoom: 6, maxZoom: 18 });
        var lay2 = new T.TileLayer(imgURL2, { minZoom: 6, maxZoom: 18 });
        var config = { layers: [lay,lay2] };
        var config = { layers: [lay, lay2] };
        map = new T.Map("mapDiv", config);
        var scale = new T.Control.Scale();
        //添加比例尺控件
@@ -47,7 +48,7 @@
    // 地图点击后获取经纬度
    function getLngLat(lnglat) {
        console.log(lnglat.lng.toFixed(6) + "," + lnglat.lat.toFixed(6));
        addClickOverLay(lnglat);
        // addClickOverLay(lnglat);
    }
    // 点击后添加坐标点
@@ -153,8 +154,8 @@
    //设置地图中心点
    function setCenterAndZoom(lng, lat,thiszoom) {
    zoom=thiszoom;
    function setCenterAndZoom(lng, lat, thiszoom) {
        zoom = thiszoom;
        console.log("function》》》》》setCenterAndZoom>>>>lng:" + lng + ",lat:" + lat);
        map.centerAndZoom(new T.LngLat(lng, lat), zoom);
    }
@@ -166,7 +167,12 @@
        window.showToast = showToast;
        window.addMarker = addMarker;
        window.setCenterAndZoom = setCenterAndZoom;
        window.updateLocation=updateLocation;
        window.updateLocation = updateLocation;
        window.aginShowLocation = aginShowLocation;
        window.cleanLocationLay = cleanLocationLay;
        window.updateInspectionLocation=updateInspectionLocation;
        window.cleanLoclLay=cleanLoclLay;
    }
    // 调用原生安卓方法显示取水口详情
@@ -260,7 +266,7 @@
                position: marker.getLngLat(),
                offset: new T.Point(-35, 8), // 设置标注文字的位置
                opacity: 1, // 设置文本的显示不透明度(范围0-1)
                    });
            });
            label.setBorderLine(0); // 设置文本的边框线宽
            label.setBackgroundColor("transparent"); // 设置文本的背景色(透明色)
            label.setFontColor("#0000FF");
@@ -269,20 +275,68 @@
        });
        return "addMarker加载成功"
    }
    //保存定位坐标生成轨迹
    var path=[];
    function updateLocation(lat,log){
        var newPoint = new T.LatLng(latitude, longitude);
        path.push(newPoint);
        var polyline = new T.Polyline({
            path: path,  // 轨迹坐标
            strokeColor: "#FF0000",  // 轨迹颜色
            strokeWeight: 6,  // 轨迹线宽
            strokeOpacity: 0.7  // 轨迹透明度
    //更新定位坐标
    function updateLocation(log, lat) {
        let icon = new T.Icon({
            iconUrl: locationIMGPath,
            iconSize: new T.Point(20, 20),
            iconAnchor: new T.Point(10, 10)
        });
        map.addOverlay(polyline);
         // 移动地图视角到最后一个位置
         map.panTo(newPoint);
        if (locationMarker) {
            map.removeOverLay(locationMarker);
        }
        var newPoint = new T.LngLat(log, lat);
        locationMarker = new T.Marker(newPoint, { icon: icon });
        map.addOverLay(locationMarker);
        map.panTo(newPoint);
    }
    //保存定位坐标生成轨迹
    var path = [];
    var lineLayer = new T.Polyline([], { color: '#ff4500', weight: 3, opacity: 0.8 });
    let locationMarker;
    function updateInspectionLocation(log, lat) {
        var lastLat = lat;
        // const intervalId = setInterval(() => {
        // lastLat=lastLat+0.0001;
        var newPoint = new T.LngLat(log, lastLat);
        path.push(newPoint);
        lineLayer.setLngLats(path);
        map.addOverLay(lineLayer);
        // 移动地图视角到最后一个位置
        // }, 500);
    }
    var aginPath = [];
    var oldLineLayer = new T.Polyline([], { color: '#ff4500', weight: 3, opacity: 0.8 });
    //显示因异常关闭的巡检记录
    function aginShowLocation(lng, lat) {
        // 调用 Android 提供的接口,获取数据
        console.log("aginShowLocation>>lng:" + lng + ">>>lat:" + lat);
        var newPoint = new T.LngLat(lng, lat);
        aginPath.push(newPoint);
        oldLineLayer.setLngLats(aginPath);
        map.addOverLay(oldLineLayer);
    }
    //清除巡检记录轨迹
    function cleanLocationLay() {
        if (lineLayer) {
            map.removeOverLay(lineLayer);
            path=[]
        }
        if (locationMarker) {
            map.removeOverLay(locationMarker);
        }
        if (oldLineLayer) {
            aginPath=[]
            map.removeOverLay(oldLineLayer);
        }
    }
    //清除本地定位坐标位置
    function cleanLoclLay(){
        if (locationMarker) {
            map.removeOverLay(locationMarker);
        }
    }