管灌系统巡查员智能手机App
zuoxiao
2024-11-13 e7df063a027c0f066317da4437d01cf3f3bc8d31
地图添加巡检定位功能
2个文件已修改
36 ■■■■ 已修改文件
app/src/main/assets/js/map.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/assets/js/map.js
@@ -166,6 +166,7 @@
        window.showToast = showToast;
        window.addMarker = addMarker;
        window.setCenterAndZoom = setCenterAndZoom;
        window.updateLocation=updateLocation;
    }
    // 调用原生安卓方法显示取水口详情
@@ -259,7 +260,7 @@
                position: marker.getLngLat(),
                offset: new T.Point(-35, 8), // 设置标注文字的位置
                opacity: 1, // 设置文本的显示不透明度(范围0-1)
            });
                    });
            label.setBorderLine(0); // 设置文本的边框线宽
            label.setBackgroundColor("transparent"); // 设置文本的背景色(透明色)
            label.setFontColor("#0000FF");
@@ -268,6 +269,21 @@
        });
        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  // 轨迹透明度
        });
        map.addOverlay(polyline);
         // 移动地图视角到最后一个位置
         map.panTo(newPoint);
    }
})();
app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
@@ -41,6 +41,7 @@
import com.dayu.pipirrapp.utils.SharedPreferencesHelper;
import com.dayu.pipirrapp.utils.ToastUtil;
import com.dayu.pipirrapp.utils.WebViewUtils;
import com.dayu.pipirrapp.view.ConfirmDialog;
import com.jeremyliao.liveeventbus.LiveEventBus;
import java.io.File;
@@ -106,7 +107,7 @@
                @Override
                public void onChanged(Object o) {
                    LatLonBean latLonBean = (LatLonBean) o;
                    mWebView.evaluateJavascript("javascript:locationOverLay(\"" + latLonBean.getLongitude() + "\",\"" + latLonBean.getLatitude() + "\")", value -> {
                    mWebView.evaluateJavascript("javascript:updateLocation(\"" +  latLonBean.getLatitude()+ "\",\"" +  latLonBean.getLongitude()+ "\")", value -> {
                    });
                }
            });
@@ -345,8 +346,19 @@
        });
        //巡检按钮
        binding.inspectButton.setOnClickListener(v -> {
            isStartInspec = !isStartInspec;
            chageInspecState();
            if (isStartInspec){
                ConfirmDialog confirmDialog=new ConfirmDialog(MapFragment.this.getActivity(), "提示", "确认关闭巡检吗?", new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        isStartInspec = !isStartInspec;
                        chageInspecState();
                    }
                });
            }else {
                isStartInspec = !isStartInspec;
                chageInspecState();
            }
        });
    }