From 45e69852f43abe0f79967786ada3c7cf887b5b48 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 24 九月 2024 10:53:14 +0800
Subject: [PATCH] 从服务端获取取水口坐标并显示在地图上

---
 app/src/main/java/com/dayu/pipirrapp/bean/db/MarkerBean.java           |  126 ++++++++++++
 app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java               |   69 +++++-
 app/src/main/assets/js/map.js                                          |   93 +++++---
 app/src/main/java/com/dayu/pipirrapp/activity/LoginActivity.java       |    2 
 app/src/main/java/com/dayu/pipirrapp/view/TagDialog.java               |    4 
 app/src/main/java/com/dayu/pipirrapp/js/MyWebViewInterface.java        |   11 
 app/src/main/java/com/dayu/pipirrapp/bean/net/MarkerResult.java        |  182 ++++++++++++++++++
 app/src/main/assets/img/marker_blue.svg                                |    1 
 app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java         |   74 ++++++-
 app/src/main/java/com/dayu/pipirrapp/net/ApiService.java               |   13 
 app/src/main/java/com/dayu/pipirrapp/net/MyIntercepterApplication.java |    2 
 app/src/main/java/com/dayu/pipirrapp/utils/CommonData.java             |    2 
 12 files changed, 501 insertions(+), 78 deletions(-)

diff --git a/app/src/main/assets/img/marker_blue.svg b/app/src/main/assets/img/marker_blue.svg
new file mode 100644
index 0000000..497061f
--- /dev/null
+++ b/app/src/main/assets/img/marker_blue.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#1890FF"><rect fill="none" height="24" width="24"/><path d="M12,2L12,2C8.13,2,5,5.13,5,9c0,1.74,0.5,3.37,1.41,4.84c0.95,1.54,2.2,2.86,3.16,4.4c0.47,0.75,0.81,1.45,1.17,2.26 C11,21.05,11.21,22,12,22h0c0.79,0,1-0.95,1.25-1.5c0.37-0.81,0.7-1.51,1.17-2.26c0.96-1.53,2.21-2.85,3.16-4.4 C18.5,12.37,19,10.74,19,9C19,5.13,15.87,2,12,2z M12,11.75c-1.38,0-2.5-1.12-2.5-2.5s1.12-2.5,2.5-2.5s2.5,1.12,2.5,2.5 S13.38,11.75,12,11.75z"/></svg>
\ No newline at end of file
diff --git a/app/src/main/assets/js/map.js b/app/src/main/assets/js/map.js
index 8254aa0..cdd6aef 100644
--- a/app/src/main/assets/js/map.js
+++ b/app/src/main/assets/js/map.js
@@ -3,12 +3,12 @@
     const locationIMGPath = 'img/location.png';
     const markerBalckPath = 'img/marker_black.svg';
     const markerRedPath = 'img/marker_red.svg';
-
+    const markerBluePath = 'img/marker_blue.svg';
     let map;
     let lastMarker = null;
     let lastClickedMarker = null;
     let isShowWaterIntakeDetail = false;
-    let zoom=12;
+    let zoom = 12;
 
 
     document.addEventListener('DOMContentLoaded', function () {
@@ -18,8 +18,8 @@
         mountMethodToWindow();
 
     });
-    window.onload = function() {
-          //鍔犺浇鍧愭爣鐐�
+    window.onload = function () {
+        //鍔犺浇鍧愭爣鐐�
         window.Android.loadMarker();
     };
     // 鍒濆鍖栧湴鍥�
@@ -89,7 +89,7 @@
 
         for (let i = 0; i < data_info.length; i++) {
             let icon = new T.Icon({
-                iconUrl: markerBalckPath,
+                iconUrl: markerBluePath,
                 iconSize: new T.Point(27, 27),
                 iconAnchor: new T.Point(10, 25)
             });
@@ -130,6 +130,7 @@
 
     // 鎵嬫満鑾峰彇鍒板畾浣嶅悗鏄剧ず瀹氫綅
     function locationOverLay(lng, lag) {
+        console.log("function銆嬨�嬨�嬨�嬨�媗ocationOverLay");
         map.centerAndZoom(new T.LngLat(lng, lag), 18);
 
         let icon = new T.Icon({
@@ -142,11 +143,20 @@
         map.addOverLay(marker);
     }
 
+
+    //璁剧疆鍦板浘涓績鐐�
+    function setCenterAndZoom(lng, lat) {
+        console.log("function銆嬨�嬨�嬨�嬨�媠etCenterAndZoom>>>>lng:" + lng + ",lat:" + lat);
+        map.centerAndZoom(new T.LngLat(lng, lat), zoom);
+    }
+
+
     // 灏嗘柟娉曟寕杞藉埌 window 涓�
     function mountMethodToWindow() {
         window.locationOverLay = locationOverLay;
         window.showToast = showToast;
         window.addMarker = addMarker;
+        window.setCenterAndZoom = setCenterAndZoom;
     }
 
     // 璋冪敤鍘熺敓瀹夊崜鏂规硶鏄剧ず鍙栨按鍙h鎯�
@@ -157,24 +167,24 @@
 
     // 璋冪敤鍘熺敓瀹夊崜鏂规硶闅愯棌鍙栨按鍙h鎯�
     function closeWaterIntakeDetail(data) {
-        if (lastClickedMarker!== null) {
+        if (lastClickedMarker !== null) {
             // 濡傛灉鏈夌偣鍑诲彇姘村彛鍒欏皢鍙栨按鍙f仮澶嶆垚榛戣壊
             // 涓婃鐐瑰嚮鐨勬爣娉ㄦ敼涓洪粦鑹�
             var defaulticon = new T.Icon({
-              iconUrl: markerBalckPath,
-              iconSize: new T.Point(27, 27),
-              iconAnchor: new T.Point(10, 25)
+                iconUrl: markerBluePath,
+                iconSize: new T.Point(27, 27),
+                iconAnchor: new T.Point(10, 25)
             });
             lastClickedMarker.setIcon(defaulticon);
-          }
-          if (isShowWaterIntakeDetail) {
+        }
+        if (isShowWaterIntakeDetail) {
             // 鍋囧鏄剧ず浜嗗彇姘村彛璇︽儏鍒欓殣钘忓彇姘村彛璇︽儏
             isShowWaterIntakeDetail = false;
             window.Android.closeWaterIntakeView();
-          } else {
+        } else {
             // 鍋囧娌℃湁鏄剧ず鍙栨按鍙e垯娣诲姞鐐瑰嚮鐨勫潗鏍�
             getLngLat(data.lnglat);
-          }
+        }
     }
 
     // 鐐瑰嚮鏍囨敞鐨勪簨浠�
@@ -185,28 +195,28 @@
 
     // 淇敼鐐瑰嚮鏍囨敞鐨勫浘鏍�
     function chageMarkerIcon(data) {
-     // 鐐瑰嚮鐨勬爣娉ㄦ敼涓虹孩鑹�
-     var currentMarker = data.target;
-     // 鐐瑰嚮鍚庡浘鏍�
-     var clickedIcon = new T.Icon({
-       iconUrl: markerRedPath,
-       iconSize: new T.Point(27, 27),
-       iconAnchor: new T.Point(10, 25)
-     });
-     // 璁剧疆褰撳墠鐐瑰嚮鐨� marker 涓虹偣鍑诲悗鍥炬爣
-     currentMarker.setIcon(clickedIcon);
-     // 鍒ゆ柇鐐瑰嚮鐨勪笉鏄悓涓�涓潗鏍�
-     if (lastClickedMarker!== null) {
-       if (!isEqualsLngLat(data.target.getLngLat(), lastClickedMarker.getLngLat())) {
-         var defaulticon = new T.Icon({
-           iconUrl: markerBalckPath,
-           iconSize: new T.Point(27, 27),
-           iconAnchor: new T.Point(10, 25)
-         });
-         lastClickedMarker.setIcon(defaulticon);
-       }
-     }
-     lastClickedMarker = data.target;
+        // 鐐瑰嚮鐨勬爣娉ㄦ敼涓虹孩鑹�
+        var currentMarker = data.target;
+        // 鐐瑰嚮鍚庡浘鏍�
+        var clickedIcon = new T.Icon({
+            iconUrl: markerRedPath,
+            iconSize: new T.Point(27, 27),
+            iconAnchor: new T.Point(10, 25)
+        });
+        // 璁剧疆褰撳墠鐐瑰嚮鐨� marker 涓虹偣鍑诲悗鍥炬爣
+        currentMarker.setIcon(clickedIcon);
+        // 鍒ゆ柇鐐瑰嚮鐨勪笉鏄悓涓�涓潗鏍�
+        if (lastClickedMarker !== null) {
+            if (!isEqualsLngLat(data.target.getLngLat(), lastClickedMarker.getLngLat())) {
+                var defaulticon = new T.Icon({
+                    iconUrl: markerBluePath,
+                    iconSize: new T.Point(27, 27),
+                    iconAnchor: new T.Point(10, 25)
+                });
+                lastClickedMarker.setIcon(defaulticon);
+            }
+        }
+        lastClickedMarker = data.target;
     }
     //璋冨畨鍗撳師鐢�
     function showToast() {
@@ -222,7 +232,7 @@
         console.log("function銆嬨�嬨�嬨�嬨�媋ddMarker");
         var array = JSON.parse(jsonData);
         var icon = new T.Icon({
-            iconUrl: markerBalckPath,
+            iconUrl: markerBluePath,
             iconSize: new T.Point(27, 27),
             iconAnchor: new T.Point(10, 25)
         });
@@ -235,6 +245,17 @@
                 addMarkerListener(data)
             });
             map.addOverLay(marker); // 灏嗘爣娉ㄦ坊鍔犲埌鍦板浘涓�
+            let label = new T.Label({
+                text: element[2],
+                position: marker.getLngLat(),
+                offset: new T.Point(-35, 8), // 璁剧疆鏍囨敞鏂囧瓧鐨勪綅缃�
+                opacity: 1, // 璁剧疆鏂囨湰鐨勬樉绀轰笉閫忔槑搴︼紙鑼冨洿0-1锛�
+            });
+            label.setBorderLine(0); // 璁剧疆鏂囨湰鐨勮竟妗嗙嚎瀹�
+            label.setBackgroundColor("transparent"); // 璁剧疆鏂囨湰鐨勮儗鏅壊锛堥�忔槑鑹诧級
+            label.setFontColor("#0000FF");
+            label.setFontSize(10);
+            map.addOverLay(label);
         });
         return "addMarker鍔犺浇鎴愬姛"
     }
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/LoginActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/LoginActivity.java
index 0d8c0f5..5adb68e 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/LoginActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/LoginActivity.java
@@ -32,7 +32,6 @@
 import com.dayu.pipirrapp.utils.CommonData;
 import com.dayu.pipirrapp.utils.SharedPreferencesHelper;
 import com.dayu.pipirrapp.utils.ToastUtil;
-import com.dayu.pipirrapp.view.TagDialog;
 import com.tencent.bugly.crashreport.CrashReport;
 
 import java.util.HashMap;
@@ -67,7 +66,6 @@
 
 
     private void initData() {
-
 
     }
 
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/db/MarkerBean.java b/app/src/main/java/com/dayu/pipirrapp/bean/db/MarkerBean.java
new file mode 100644
index 0000000..e259685
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/db/MarkerBean.java
@@ -0,0 +1,126 @@
+package com.dayu.pipirrapp.bean.db;
+
+import androidx.room.Entity;
+import androidx.room.PrimaryKey;
+
+/**
+ * author: zuo
+ * Date: 2024-09-20
+ * Time: 14:56
+ * 澶囨敞锛�
+ */
+@Entity
+public class MarkerBean {
+    @PrimaryKey(autoGenerate = true)
+    public long id;
+
+    String blockId;
+    String deleted;//閫昏緫鍒犻櫎鏍囪瘑
+    String divideId;//string
+    String lat;//缁忓害
+    String lng;//绾害
+    String name;//鍙栨按鍙e悕绉�
+    String operateDt;//鎿嶄綔鏃堕棿
+    String operator;//鎿嶄綔浜虹紪鍙�
+    String remarks;//澶囨敞
+    String townId;//鎵�鍦ㄩ晣缂栧彿
+    String villageId;//鎵�鍦ㄦ潙缂栧彿
+    String countyId;//鎵�鍦ㄥ幙缂栧彿
+
+    public String getBlockId() {
+        return blockId;
+    }
+
+    public void setBlockId(String blockId) {
+        this.blockId = blockId;
+    }
+
+    public String getDeleted() {
+        return deleted;
+    }
+
+    public void setDeleted(String deleted) {
+        this.deleted = deleted;
+    }
+
+    public String getDivideId() {
+        return divideId;
+    }
+
+    public void setDivideId(String divideId) {
+        this.divideId = divideId;
+    }
+
+
+    public String getLat() {
+        return lat;
+    }
+
+    public void setLat(String lat) {
+        this.lat = lat;
+    }
+
+    public String getLng() {
+        return lng;
+    }
+
+    public void setLng(String lng) {
+        this.lng = lng;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getOperateDt() {
+        return operateDt;
+    }
+
+    public void setOperateDt(String operateDt) {
+        this.operateDt = operateDt;
+    }
+
+    public String getOperator() {
+        return operator;
+    }
+
+    public void setOperator(String operator) {
+        this.operator = operator;
+    }
+
+    public String getRemarks() {
+        return remarks;
+    }
+
+    public void setRemarks(String remarks) {
+        this.remarks = remarks;
+    }
+
+    public String getTownId() {
+        return townId;
+    }
+
+    public void setTownId(String townId) {
+        this.townId = townId;
+    }
+
+    public String getVillageId() {
+        return villageId;
+    }
+
+    public void setVillageId(String villageId) {
+        this.villageId = villageId;
+    }
+
+    public String getCountyId() {
+        return countyId;
+    }
+
+    public void setCountyId(String countyId) {
+        this.countyId = countyId;
+    }
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/MarkerResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/MarkerResult.java
new file mode 100644
index 0000000..57ee3ff
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/MarkerResult.java
@@ -0,0 +1,182 @@
+package com.dayu.pipirrapp.bean.net;
+
+import java.util.List;
+
+/**
+ * author; zuo
+ * Date; 2024-09-20
+ * Time; 14;12
+ * 澶囨敞锛�
+ */
+public class MarkerResult extends BaseResult {
+    int itemTotal;
+    int pageCurr;
+    int pageSize;
+    int pageTotal;
+    List<Obj> obj;
+
+    public int getItemTotal() {
+        return itemTotal;
+    }
+
+    public void setItemTotal(int itemTotal) {
+        this.itemTotal = itemTotal;
+    }
+
+    public int getPageCurr() {
+        return pageCurr;
+    }
+
+    public void setPageCurr(int pageCurr) {
+        this.pageCurr = pageCurr;
+    }
+
+    public int getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    public int getPageTotal() {
+        return pageTotal;
+    }
+
+    public void setPageTotal(int pageTotal) {
+        this.pageTotal = pageTotal;
+    }
+
+    public List<Obj> getObj() {
+        return obj;
+    }
+
+    public void setObj(List<Obj> obj) {
+        this.obj = obj;
+    }
+
+    public class Obj {
+        String blockId;
+
+        String deleted;//閫昏緫鍒犻櫎鏍囪瘑
+        String divideId;//string
+
+        String id;
+        String lat;//缁忓害
+        String lng;//绾害
+
+        String name;//鍙栨按鍙e悕绉�
+
+        String operateDt;//鎿嶄綔鏃堕棿
+        String operator;//鎿嶄綔浜虹紪鍙�
+        String remarks;//澶囨敞
+        String townId;//鎵�鍦ㄩ晣缂栧彿
+        String villageId;//鎵�鍦ㄦ潙缂栧彿
+        String countyId;//鎵�鍦ㄥ幙缂栧彿
+
+        public String getBlockId() {
+            return blockId;
+        }
+
+        public void setBlockId(String blockId) {
+            this.blockId = blockId;
+        }
+
+        public String getDeleted() {
+            return deleted;
+        }
+
+        public void setDeleted(String deleted) {
+            this.deleted = deleted;
+        }
+
+        public String getDivideId() {
+            return divideId;
+        }
+
+        public void setDivideId(String divideId) {
+            this.divideId = divideId;
+        }
+
+        public String getId() {
+            return id;
+        }
+
+        public void setId(String id) {
+            this.id = id;
+        }
+
+        public String getLat() {
+            return lat;
+        }
+
+        public void setLat(String lat) {
+            this.lat = lat;
+        }
+
+        public String getLng() {
+            return lng;
+        }
+
+        public void setLng(String lng) {
+            this.lng = lng;
+        }
+
+        public String getName() {
+            return name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public String getOperateDt() {
+            return operateDt;
+        }
+
+        public void setOperateDt(String operateDt) {
+            this.operateDt = operateDt;
+        }
+
+        public String getOperator() {
+            return operator;
+        }
+
+        public void setOperator(String operator) {
+            this.operator = operator;
+        }
+
+        public String getRemarks() {
+            return remarks;
+        }
+
+        public void setRemarks(String remarks) {
+            this.remarks = remarks;
+        }
+
+        public String getTownId() {
+            return townId;
+        }
+
+        public void setTownId(String townId) {
+            this.townId = townId;
+        }
+
+        public String getVillageId() {
+            return villageId;
+        }
+
+        public void setVillageId(String villageId) {
+            this.villageId = villageId;
+        }
+
+        public String getCountyId() {
+            return countyId;
+        }
+
+        public void setCountyId(String countyId) {
+            this.countyId = countyId;
+        }
+    }
+
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
index e4c7378..7c122e4 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
@@ -17,9 +17,9 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
-import com.dayu.pipirrapp.MyApplication;
 import com.dayu.pipirrapp.bean.db.CenterPointBean;
 import com.dayu.pipirrapp.bean.net.CenterPointResult;
+import com.dayu.pipirrapp.bean.net.MarkerResult;
 import com.dayu.pipirrapp.dao.DaoSingleton;
 import com.dayu.pipirrapp.databinding.FragmentMapBinding;
 import com.dayu.pipirrapp.js.MyWebViewInterface;
@@ -37,8 +37,6 @@
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.util.HashMap;
-import java.util.Map;
 import java.util.Random;
 
 /**
@@ -56,6 +54,7 @@
 
     WebView mWebView;
     CenterPointBean centerPointBean;
+    String jsonData;
 
     @Override
     public void onAttach(@NonNull Context context) {
@@ -81,6 +80,8 @@
         mWebView.loadUrl("file:///android_asset/index.html");
         getCenterPoint();
         initView();
+        initData();
+        getMarkerData();
         //寮�鍚畾浣�
 //        Intent location = new Intent(this.getActivity(), MyLocationService.class);
 //        location.putExtra("isSingle", false);
@@ -89,10 +90,64 @@
     }
 
     private void initData() {
-        centerPointBean = DaoSingleton.getInstance(MapFragment.this.getContext()).centerPointDao().findFirst();
-        if (centerPointBean!=null){
+        jumpCenterPoint();
+    }
 
+    /**
+     * 璺宠浆鍦板浘涓績鐐�
+     */
+    public void jumpCenterPoint() {
+
+        centerPointBean = DaoSingleton.getInstance(MapFragment.this.getContext()).centerPointDao().findFirst();
+        if (centerPointBean != null) {
+            Log.d(TAG, "jumpCenterPoint>>>>>>>>>>>>>>>>>>>" + centerPointBean.getLng() + "\",\"" + centerPointBean.getLat());
+            mWebView.evaluateJavascript("javascript:setCenterAndZoom(\"" + centerPointBean.getLng() + "\",\"" + centerPointBean.getLat() + "\")", value -> {
+            });
         }
+    }
+
+    public void setMapMarker(){
+        Log.i("mWebView", "addMarker????????????" + jsonData);
+        mWebView.evaluateJavascript("javascript:addMarker(\"" + jsonData + "\")", new ValueCallback<String>() {
+            @Override
+            public void onReceiveValue(String value) {
+                Log.i("mWebView", "addMarker锛侊紒锛侊紒锛侊紒锛侊紒锛�" + value);
+            }
+        });
+    }
+
+
+
+    private void getMarkerData() {
+        ApiManager.getInstance().requestGet(this.getContext(), Constants.BASE_URL + ":8085/project/intake/all", MarkerResult.class, null, new SubscriberListener<BaseResponse<MarkerResult>>() {
+            @Override
+            public void onNext(BaseResponse<MarkerResult> t) {
+                if (t.isSuccess()) {
+                    if (t.isSuccess()) {
+                        if (t.getContent().getObj() != null && !t.getContent().getObj().isEmpty()) {
+                            StringBuilder stringBuilder = new StringBuilder();
+                            stringBuilder.append("[");
+                            for (int i = 0; i < t.getContent().getObj().size(); i++) {
+                                stringBuilder.append("[");
+                                stringBuilder.append(t.getContent().getObj().get(i).getLng());
+                                stringBuilder.append(",");
+                                stringBuilder.append(t.getContent().getObj().get(i).getLat());
+                                stringBuilder.append(",\"" + t.getContent().getObj().get(i).getName() + "\"]");
+                                if (i != t.getContent().getObj().size() - 1) {
+                                    stringBuilder.append(",");
+                                }
+                            }
+                            stringBuilder.append("]");
+                            jsonData = stringBuilder.toString().replace("\\", "\\\\").replace("\"", "\\\"");
+
+                        }
+                    }
+                } else {
+                    ToastUtil.showToast(MapFragment.this.getContext(), t.getMsg());
+                }
+            }
+
+        });
     }
 
 
@@ -123,7 +178,6 @@
         }
         stringBuilder.append("[116.417854,39.921988,\"235鍙栨按鍙"]]");
         String jsonData = stringBuilder.toString().replace("\\", "\\\\").replace("\"", "\\\"");
-//        String jsonData = "[[116.417854,39.921988,\"235鍙栨按鍙"],[116.406605,39.921585,\"237鍙栨按鍙"],[116.412222,39.912345,\"236鍙栨按鍙"]]";
         Log.i("mWebView", "addMarker????????????" + jsonData);
         mWebView.evaluateJavascript("javascript:addMarker(\"" + jsonData + "\")", new ValueCallback<String>() {
             @Override
@@ -132,7 +186,6 @@
             }
         });
     }
-
 
     @Override
     public void onResume() {
@@ -228,10 +281,8 @@
      * 鑾峰彇鍦板浘涓績鐐�
      */
     private void getCenterPoint() {
-        Map<String, Object> data = new HashMap<>();
-        data.put("token", MyApplication.myApplication.token);
 
-        ApiManager.getInstance().requestGet(this.getContext(), Constants.SUCCESS + "8080/base/dict_item/map_center", CenterPointResult.class, data, new SubscriberListener<BaseResponse<CenterPointResult>>() {
+        ApiManager.getInstance().requestGet(this.getContext(), Constants.BASE_URL + ":8080/base/dict_item/map_center", CenterPointResult.class, null, new SubscriberListener<BaseResponse<CenterPointResult>>() {
             @Override
             public void onNext(BaseResponse<CenterPointResult> t) {
                 if (t.isSuccess()) {
@@ -240,7 +291,8 @@
                     }
                     centerPointBean.setLat(t.getContent().getLat());
                     centerPointBean.setLng(t.getContent().getLng());
-                    DaoSingleton.getInstance(MapFragment.this.getContext()).centerPointDao().update(centerPointBean);
+                    DaoSingleton.getInstance(MapFragment.this.getContext()).centerPointDao().insert(centerPointBean);
+                    jumpCenterPoint();
                 } else {
                     ToastUtil.showToast(MapFragment.this.getContext(), t.getMsg());
                 }
diff --git a/app/src/main/java/com/dayu/pipirrapp/js/MyWebViewInterface.java b/app/src/main/java/com/dayu/pipirrapp/js/MyWebViewInterface.java
index 56fb79b..67c87de 100644
--- a/app/src/main/java/com/dayu/pipirrapp/js/MyWebViewInterface.java
+++ b/app/src/main/java/com/dayu/pipirrapp/js/MyWebViewInterface.java
@@ -29,6 +29,7 @@
 
     /**
      * 鏄剧ず鍙栨按鍙h鎯�
+     *
      * @param data
      */
     @JavascriptInterface
@@ -48,7 +49,6 @@
 
     /**
      * 闅愯棌鍙栨按鍙h鎯�
-     *
      */
     @JavascriptInterface
     public void closeWaterIntakeView() {
@@ -66,21 +66,20 @@
     }
 
     @JavascriptInterface
-    public void loadMarker(){
+    public void loadMarker() {
         if (myContext instanceof MapFragment) {
             new Handler(Looper.getMainLooper()).post(new Runnable() {
                 @Override
                 public void run() {
                     // 鍦ㄤ富绾跨▼涓婃墽琛孶I鎿嶄綔
                     // 鏇存柊鎴栨搷浣淯I鍏冪礌鐨勪唬鐮�
-                    myContext.addMarker();
+//                    myContext.addMarker();
+                    myContext.jumpCenterPoint();
+                    myContext.setMapMarker();
                 }
             });
         }
     }
-
-
-
 
 
 }
diff --git a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
index 9bf38c8..3ff5033 100644
--- a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
+++ b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
@@ -1,8 +1,13 @@
 package com.dayu.pipirrapp.net;
 
 import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.NetworkCapabilities;
+import android.net.NetworkInfo;
+import android.os.Build;
 import android.util.Log;
 
+import com.dayu.pipirrapp.MyApplication;
 import com.dayu.pipirrapp.bean.net.CodeResult;
 import com.dayu.pipirrapp.bean.net.WeatherResponse;
 import com.dayu.pipirrapp.net.subscribers.BaseProgressSubscriber;
@@ -97,10 +102,9 @@
 
         if (isGet) {
             if (params == null) {
-                observable = apiService.requestGet(path);
+                observable = apiService.requestGet(path, MyApplication.myApplication.token);
             } else {
-
-                observable = apiService.requestGet(path, params);
+                observable = apiService.requestGet(path, params, MyApplication.myApplication.token);
             }
         } else {
             observable = apiService.requestPost(path, params);
@@ -182,21 +186,27 @@
 
     /**
      * 鑾峰彇楠岃瘉鐮�
+     *
      * @param params
      * @param listener
      * @param <T>
      */
-    public <T> void getCode( Map<String, Object> params, CodeListener listener) {
-        Observable observable;
-        observable = apiService.getCode(params);
-        observable.subscribeOn(Schedulers.io())
-                .unsubscribeOn(Schedulers.newThread())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(responseBody -> {
-                    listener.onNext((CodeResult) responseBody);
-                }, throwable -> {
-                    listener.error((Throwable) throwable);
-                });
+    public <T> void getCode(Map<String, Object> params, CodeListener listener) {
+        if (isNetworkAvailable(MyApplication.myApplication)) {
+            Observable observable;
+            observable = apiService.getCode(params);
+            observable.subscribeOn(Schedulers.io())
+                    .unsubscribeOn(Schedulers.newThread())
+                    .observeOn(AndroidSchedulers.mainThread())
+                    .subscribe(responseBody -> {
+                        listener.onNext((CodeResult) responseBody);
+                    }, throwable -> {
+                        listener.error((Throwable) throwable);
+                    });
+        } else {
+            listener.onNext(null);
+        }
+
     }
 
 
@@ -241,4 +251,35 @@
         }
     }
 
+    /**
+     * 鍒ゆ柇褰撳墠鏄惁鏈夌綉缁�
+     *
+     * @param context
+     * @return
+     */
+    public boolean isNetworkAvailable(Context context) {
+        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+
+        if (connectivityManager != null) {
+            // 瀵逛簬 Android 鐗堟湰澶т簬绛変簬 Android Q (API level 29)
+            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+                NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(connectivityManager.getActiveNetwork());
+                if (capabilities != null) {
+                    // 妫�鏌ョ綉缁滄槸鍚︽湁浼犺緭鑳藉姏锛堝寘鎷� Wi-Fi 鍜岀Щ鍔ㄦ暟鎹級
+                    if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) || capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) {
+                        return true;
+                    }
+                }
+            } else {
+                // 瀵逛簬 Android Q 浠ヤ笅鐗堟湰
+                NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
+                if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) {
+                    return true;
+                }
+            }
+        }
+
+        return false;  // 鏃犵綉缁滆繛鎺�
+    }
+
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/dayu/pipirrapp/net/ApiService.java b/app/src/main/java/com/dayu/pipirrapp/net/ApiService.java
index 73eb9ff..3e73681 100644
--- a/app/src/main/java/com/dayu/pipirrapp/net/ApiService.java
+++ b/app/src/main/java/com/dayu/pipirrapp/net/ApiService.java
@@ -13,11 +13,11 @@
 import retrofit2.Call;
 import retrofit2.http.Body;
 import retrofit2.http.GET;
+import retrofit2.http.Header;
 import retrofit2.http.Multipart;
 import retrofit2.http.POST;
 import retrofit2.http.Part;
 import retrofit2.http.PartMap;
-import retrofit2.http.Path;
 import retrofit2.http.QueryMap;
 import retrofit2.http.Streaming;
 import retrofit2.http.Url;
@@ -40,11 +40,14 @@
     @POST()
     Observable<BaseResponse> requestPost(@Url String url, @Body Map<String, Object> params);
 
-    @GET("{url}")
-    Observable<BaseResponse> requestGet(@Path("url") String url, @QueryMap Map<String, Object> params);
+    @GET()
+    Observable<BaseResponse> requestGet(@Url String url, @QueryMap Map<String, Object> params,@Header("token") String token);
 
-    @GET("{url}")
-    Observable<BaseResponse> requestGet(@Path("url") String url);
+    @GET()
+    Observable<BaseResponse> requestGet(@Url String url);
+
+    @GET()
+    Observable<BaseResponse> requestGet(@Url String url, @Header("token") String token);
 
     @Streaming
     @GET()
diff --git a/app/src/main/java/com/dayu/pipirrapp/net/MyIntercepterApplication.java b/app/src/main/java/com/dayu/pipirrapp/net/MyIntercepterApplication.java
index cc1a62d..bc2fba6 100644
--- a/app/src/main/java/com/dayu/pipirrapp/net/MyIntercepterApplication.java
+++ b/app/src/main/java/com/dayu/pipirrapp/net/MyIntercepterApplication.java
@@ -70,7 +70,7 @@
                 builder.addHeader("os", "app");
                 builder.addHeader("Authorization", SharedPreferencesHelper.getInstance(MyApplication.myApplication).get("token", ""));
             }
-            builder.addHeader("tag", CommonData.Tag);
+            builder.addHeader("tag", MyApplication.myApplication.myTag);
             return builder.build();
         } catch (Exception e) {
             e.printStackTrace();
diff --git a/app/src/main/java/com/dayu/pipirrapp/utils/CommonData.java b/app/src/main/java/com/dayu/pipirrapp/utils/CommonData.java
index 03edee5..98e46b0 100644
--- a/app/src/main/java/com/dayu/pipirrapp/utils/CommonData.java
+++ b/app/src/main/java/com/dayu/pipirrapp/utils/CommonData.java
@@ -12,8 +12,6 @@
     public static String androidKey = "4dace6fd6dad43a9bc08d1ed94ec28d8";
 
     //缂撳瓨
-
-    public static String Tag = "ym";
     public final static String Token = "Token";
     public final static String isShowCode="isShowCode";
 
diff --git a/app/src/main/java/com/dayu/pipirrapp/view/TagDialog.java b/app/src/main/java/com/dayu/pipirrapp/view/TagDialog.java
index b4b038b..3114677 100644
--- a/app/src/main/java/com/dayu/pipirrapp/view/TagDialog.java
+++ b/app/src/main/java/com/dayu/pipirrapp/view/TagDialog.java
@@ -12,6 +12,7 @@
 import android.widget.TextView;
 
 
+import com.dayu.pipirrapp.MyApplication;
 import com.dayu.pipirrapp.R;
 import com.dayu.pipirrapp.bean.db.TagBean;
 import com.dayu.pipirrapp.dao.DaoSingleton;
@@ -61,7 +62,7 @@
                 // 褰撻�変腑鐨凴adioButton鍙戠敓鍙樺寲鏃惰皟鐢�
                 if (checkedId == R.id.testLibrary) {
                     type = CommonData.TestTag;
-                    tagBean.setTag("ym");
+                    tagBean.setTag("test");
                     data = "纭閫夋嫨娴嬭瘯鐗堟湰鍚楋紵";
                 } else if (checkedId == R.id.yuanmouLibrary) {// 澶勭悊閫変腑Option 2鐨勯�昏緫
                     type = CommonData.YuanMouTag;
@@ -76,6 +77,7 @@
                     confirmDialog = new ConfirmDialog(mContext, data, new View.OnClickListener() {
                         @Override
                         public void onClick(View v) {
+                            MyApplication.myApplication.myTag = tagBean.getTag();
                             tagDao.insert(tagBean);
                             mLibraryBack.listener(type);
                             TagDialog.this.dismiss();

--
Gitblit v1.8.0