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