管灌系统巡查员智能手机App
zuoxiao
2025-01-23 b6f46408cb3dc8b01051953e5c68de6c9195db60
app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
@@ -114,6 +114,8 @@
    public double centerLng;
    public double centerLat;
    MarkerBean mMarkerBean;
    @Override
    public void onAttach(@NonNull Context context) {
        super.onAttach(context);
@@ -125,6 +127,7 @@
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRetainInstance(true);
        Log.i(TAG, "onCreate");
        mInspectionState = SharedPreferencesHelper.getInstance(this.getContext()).get(CommonKeyName.inspectionState, 0);
    }
@@ -253,7 +256,6 @@
        }
    }
    /**
     * 获取取水口列表
     */
@@ -311,7 +313,11 @@
        //巡检按钮
        binding.inspectButton.setOnClickListener(v -> {
            if (XXPermissions.isGranted(MapFragment.this.getContext(), Permission.ACCESS_BACKGROUND_LOCATION)) {
                chageInspecState(InspectionUtils.STAT_INSPECTION_ONCLICK);
                new ConfirmDialog(MapFragment.this.getActivity(), (confirmDialog, v1) -> {
                    chageInspecState(InspectionUtils.STAT_INSPECTION_ONCLICK);
                    confirmDialog.dismiss();
                }).show();
            } else {
                TipUtil.show(MapFragment.this.getActivity(), "巡检定位需要您选择\"始终允许\"定位信息,否则无法巡检。", new TipUtil.TipListener() {
                    @Override
@@ -739,6 +745,8 @@
                        });
                        binding.pointCenterImg.setVisibility(View.GONE);
                        binding.pointRL.setVisibility(View.GONE);
                        mMarkerBean.setLat(lat);
                        mMarkerBean.setLng(lng);
                        binding.lng.setText(lng);
                        binding.lat.setText(lat);
                        mWebView.evaluateJavascript("javascript:cancelPin()", value -> {
@@ -770,20 +778,20 @@
            public void onNext(BaseResponse<MarkerResult> t) {
                if (t.isSuccess()) {
                    MarkerResult result = t.getContent();
                    MarkerBean markerBean = new MarkerBean();
                    markerBean.setId(result.getId());
                    markerBean.setLng(result.getLng());
                    markerBean.setLat(result.getLat());
                    markerBean.setBlockId(result.getBlockId());
                    markerBean.setName(result.getName());
                    markerBean.setRemarks(result.getRemarks());
                    markerBean.setTownId(result.getTownId());
                    markerBean.setVillageId(result.getVillageId());
                    markerBean.setCountyId(result.getCountyId());
                    markerBean.setAddress(result.getAddress());
                    markerBean.setBlockName(result.getBlockName());
                    markerBean.setDivideId(result.getDivideId());
                    showMarker(markerBean);
                    mMarkerBean = new MarkerBean();
                    mMarkerBean.setId(result.getId());
                    mMarkerBean.setLng(result.getLng());
                    mMarkerBean.setLat(result.getLat());
                    mMarkerBean.setBlockId(result.getBlockId());
                    mMarkerBean.setName(result.getName());
                    mMarkerBean.setRemarks(result.getRemarks());
                    mMarkerBean.setTownId(result.getTownId());
                    mMarkerBean.setVillageId(result.getVillageId());
                    mMarkerBean.setCountyId(result.getCountyId());
                    mMarkerBean.setAddress(result.getAddress());
                    mMarkerBean.setBlockName(result.getBlockName());
                    mMarkerBean.setDivideId(result.getDivideId());
                    showMarker(mMarkerBean);
                } else {
                    ToastUtil.showToast(MapFragment.this.getContext(), t.getMsg());
                }
@@ -1024,5 +1032,36 @@
    public void onDestroy() {
        super.onDestroy();
        LiveEventBus.get(CommonKeyName.locationData).removeObserver(locationObserver);
        if (mWebView != null) {
            mWebView.destroy();
        }
    }
    @Override
    public void onResume() {
        super.onResume();
        mWebView.onResume();
        mWebView.resumeTimers();
    }
    @Override
    public void onPause() {
        super.onPause();
        mWebView.onPause();
        mWebView.pauseTimers();
    }
    @Override
    public void onSaveInstanceState(@NonNull Bundle outState) {
        super.onSaveInstanceState(outState);
        mWebView.saveState(outState);
    }
    @Override
    public void onViewStateRestored(@Nullable Bundle savedInstanceState) {
        super.onViewStateRestored(savedInstanceState);
        if (savedInstanceState != null) {
            mWebView.restoreState(savedInstanceState);
        }
    }
}