From f163344ffeb1e699fa1a2dfb8a70055bb1b9be7e Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 09 九月 2024 15:09:17 +0800
Subject: [PATCH] 首页界面优化,地图模块优化,部分下载地图瓦片功能代码
---
app/src/main/java/com/dayu/pipirrapp/service/MyLocationService.java | 55 +++++++++++++++++++++++++++++++++++++------------------
1 files changed, 37 insertions(+), 18 deletions(-)
diff --git a/app/src/main/java/com/dayu/pipirrapp/service/MyLocationService.java b/app/src/main/java/com/dayu/pipirrapp/service/MyLocationService.java
index 61a4cf3..f3c75e0 100644
--- a/app/src/main/java/com/dayu/pipirrapp/service/MyLocationService.java
+++ b/app/src/main/java/com/dayu/pipirrapp/service/MyLocationService.java
@@ -21,7 +21,9 @@
import com.baidu.location.LocationClientOption;
import com.dayu.pipirrapp.R;
import com.dayu.pipirrapp.activity.MainActivity;
+import com.dayu.pipirrapp.bean.LatLonBean;
import com.dayu.pipirrapp.utils.MyLog;
+import com.jeremyliao.liveeventbus.LiveEventBus;
import com.tencent.bugly.crashreport.CrashReport;
/**
@@ -41,7 +43,10 @@
/**
* 鏄惁涓�娆℃�у畾浣�
*/
- boolean isSingle;
+ boolean isSingle = false;
+
+ // 鏄惁宸茬粡瀹氫綅
+ boolean isPositioned = false;
@Nullable
@Override
@@ -85,13 +90,6 @@
// createBDLocation();
}
-// /**
-// * @param isSingle 鏄惁鏄崟娆″畾浣�
-// */
-// public MyLocationService(boolean isSingle) {
-// this.isSingle = isSingle;
-//
-// }
/**
* 鍘熺敓鐨勫畾浣嶆湇鍔�
@@ -176,6 +174,7 @@
String longitude = "Longitude:" + location.getLongitude();
String latitude = "Latitude:" + location.getLatitude();
MyLog.i("鍘熺敓瀹氫綅onLocationChanged: Latitude锛�" + latitude + " Longitude锛�" + longitude);
+ postPosition(location.getLatitude(), location.getLongitude());
// 鏄惁涓�娆℃�у畾浣�
if (isSingle) {
stopSelf(); // 鑾峰彇鍒扮粡绾害浠ュ悗锛屽仠姝㈣service
@@ -206,21 +205,41 @@
* 鐧惧害瀹氫綅鐨勭洃鍚�
*/
class MyBDLocationListener extends BDAbstractLocationListener {
-
@Override
public void onReceiveLocation(BDLocation location) {
-
double latitude = location.getLatitude(); //鑾峰彇绾害淇℃伅
double longitude = location.getLongitude(); //鑾峰彇缁忓害淇℃伅
// MyLog.i("鐧惧害鐨勭洃鍚� latitude锛�" + latitude);
// MyLog.i("鐧惧害鐨勭洃鍚� longitude锛�" + longitude);
MyLog.i("鐧惧害鐨勭洃鍚� onBaiduLocationChanged: latitude锛�" + latitude + " longitude锛�" + longitude);
- if (isSingle) {
- stopSelf(); // 鑾峰彇鍒扮粡绾害浠ュ悗锛屽仠姝㈣service
- }
- }
+
+ if (!String.valueOf(latitude).equals("4.9E-324")) {
+ //涓嶄负4.9E-324鏃舵墠鏄畾浣嶆垚鍔�
+ postPosition(latitude, longitude);
+ if (isSingle) {
+ stopSelf(); // 鑾峰彇鍒扮粡绾害浠ュ悗锛屽仠姝㈣service
+ }
+ }
+
+ }
}
+
+
+ /**
+ * @param latitude
+ * @param longitude
+ */
+ private void postPosition(double latitude, double longitude) {
+ if (isSingle && isPositioned) {
+ return;
+ }
+ LatLonBean latLonBean = new LatLonBean();
+ latLonBean.setLatitude(latitude);
+ latLonBean.setLongitude(longitude);
+ LiveEventBus.get("location").post(latLonBean);
+ }
+
@Override
public void onDestroy() {
@@ -233,10 +252,10 @@
if (locationManager != null) {
locationManager.removeUpdates(listener);
}
- if (mBDLocationClient != null) {
- mBDLocationClient.stop();
- mBDLocationClient.unRegisterLocationListener(mBDLocationListener);
- }
+// if (mBDLocationClient != null) {
+// mBDLocationClient.stop();
+// mBDLocationClient.unRegisterLocationListener(mBDLocationListener);
+// }
} catch (Exception e) {
CrashReport.postCatchedException(e);
--
Gitblit v1.8.0