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