From 3a161aeef6dfe08aa80fca6fb2c1650ebdd31d59 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 01 二月 2024 15:29:19 +0800
Subject: [PATCH] 天气相关

---
 app/src/main/java/com/dayu/pipirrapp/service/MyLocationService.java |   49 ++++++++++++++++++++++++++++++++++---------------
 1 files changed, 34 insertions(+), 15 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..7eb9e0e 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
@@ -82,16 +87,9 @@
         super.onCreate();
 
         createNativeLocation();
-//        createBDLocation();
+        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,22 +205,42 @@
      * 鐧惧害瀹氫綅鐨勭洃鍚�
      */
     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() {
         MyLog.i("MyLocationService--onDestroy");

--
Gitblit v1.8.0