From a052061e479b4b2db89e66df01ef2a9a9eea3cf4 Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期一, 06 七月 2026 11:01:19 +0800
Subject: [PATCH] 修复问题

---
 app/src/main/java/com/fangxinxing/xxfxx/base/gaode/AMapKit.kt |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/app/src/main/java/com/fangxinxing/xxfxx/base/gaode/AMapKit.kt b/app/src/main/java/com/fangxinxing/xxfxx/base/gaode/AMapKit.kt
index b9fe55d..1d49621 100644
--- a/app/src/main/java/com/fangxinxing/xxfxx/base/gaode/AMapKit.kt
+++ b/app/src/main/java/com/fangxinxing/xxfxx/base/gaode/AMapKit.kt
@@ -29,6 +29,7 @@
 import com.amap.api.navi.model.AMapCalcRouteResult
 import com.amap.api.navi.model.AMapNaviPath
 import com.amap.api.navi.model.NaviPoi
+import com.amap.api.services.core.AMapException
 import com.amap.api.services.core.LatLonPoint
 import com.amap.api.services.district.DistrictSearch
 import com.amap.api.services.district.DistrictSearchQuery
@@ -493,7 +494,7 @@
     }
 
     /***
-     * 周边检索地址
+     * 逆地理编码(坐标转地址)
      * @param lat
      * @param lng
      */
@@ -501,16 +502,25 @@
         context: Context,
         lat: Double,
         lng: Double,
-        var1: PoiSearch.OnPoiSearchListener
+        block: (lat: Double, lng: Double, regeocodeAddress: RegeocodeAddress) -> Unit
     ) {
-        val query = PoiSearch.Query("", "", "")
-//        val query = PoiSearch.Query("", ctgr, "")
-//        query.pageSize = 10 // 设置每页最多返回多少条poiitem
-//        query.pageNum = 1 //设置查询页码
-        val poiSearch = PoiSearch(context, query)
-        poiSearch.setOnPoiSearchListener(var1)
-        poiSearch.bound = PoiSearch.SearchBound(LatLonPoint(lat, lng), 5000) //设置周边搜索的中心点以及半径
-        poiSearch.searchPOIAsyn()
+        val geocodeSearch = GeocodeSearch(context)
+        geocodeSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener {
+            override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+                if (rCode == AMapException.CODE_AMAP_SUCCESS) {
+                    if (result?.regeocodeAddress?.formatAddress != null) {
+                        block.invoke(lat, lng, result.regeocodeAddress)
+                    }
+                }
+            }
+
+            override fun onGeocodeSearched(p0: GeocodeResult?, p1: Int) {
+
+            }
+        })
+        // 第一个参数表示一个Latlng,第二参数表示范围多少米,第三个参数表示是火系坐标系还是GPS原生坐标系
+        val query = RegeocodeQuery(LatLonPoint(lat, lng), 50f, GeocodeSearch.AMAP)
+        geocodeSearch.getFromLocationAsyn(query);
     }
 
     /***

--
Gitblit v1.7.1