From 9ed0b1847912221197697791d69e01ccae17f5b9 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 27 八月 2024 17:36:11 +0800
Subject: [PATCH] 1. 新增NO监测因子 2. 新增第三方数据接口数据获取相关模块

---
 src/main/kotlin/com/flightfeather/uav/common/net/AMapService.kt |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/common/net/AMapService.kt b/src/main/kotlin/com/flightfeather/uav/common/net/AMapService.kt
index a9c5497..615bc8f 100644
--- a/src/main/kotlin/com/flightfeather/uav/common/net/AMapService.kt
+++ b/src/main/kotlin/com/flightfeather/uav/common/net/AMapService.kt
@@ -5,15 +5,18 @@
 import com.google.gson.JsonElement
 import com.google.gson.JsonObject
 import com.google.gson.JsonParser
+import org.apache.http.util.EntityUtils
+import java.net.URLEncoder
 import java.nio.charset.Charset
 
 /**
  * 楂樺痉鍦板浘Web鏈嶅姟API
+ * Date: 2024/07/14
  */
 object AMapService {
 
     private const val TAG = "AMapService"
-    private const val KEY = "520c5e5cf44c7793104e500cbf0ed711"
+    private const val KEY = "b36a93bac8950d3d7c6c06f21133de51"
 
     private val httpMethod = HttpMethod("restapi.amap.com", 443, true)
 
@@ -64,9 +67,10 @@
      * @param coordsys 鍘熷潗鏍囩郴锛屽彲閫夊�硷細gps;mapbar;baidu;autonavi(涓嶈繘琛岃浆鎹�)
      */
     fun coordinateConvert(locations: List<Pair<Double, Double>>, coordsys:String="gps"): List<Pair<Double, Double>> {
+        val locationsStr = URLEncoder.encode(locations.joinToString("|") { "${it.first},${it.second}" }, "UTF-8")
         val res = httpMethod.get("/v3/assistant/coordinate/convert", listOf(
             "key" to KEY,
-            "locations" to locations.joinToString("|") { "${it.first},${it.second}" },
+            "locations" to locationsStr,
             "coordsys" to coordsys
         ))
         val obj = handleRes(res)
@@ -82,16 +86,11 @@
 
     private fun handleRes(res: HttpMethod.MyResponse):JsonObject {
         if (res.success) {
-//            val str = if (res.m.responseCharSet == "utf-8") {
-//                res.m.responseBodyAsString
-//            } else {
-//                String(res.m.responseBody, Charset.forName("utf-8"))
-//            }
-            val str = res.m.responseBodyAsString
+            val str = EntityUtils.toString(res.m.entity)
             val json = JsonParser.parseString(str)
             return resCheck(json)
         } else {
-            throw BizException("楂樺痉API缃戣矾閾炬帴閿欒锛岀姸鎬佺爜锛�${res.m.statusCode}")
+            throw BizException("楂樺痉API缃戣矾閾炬帴閿欒锛岀姸鎬佺爜锛�${res.m.statusLine.statusCode}")
         }
     }
 

--
Gitblit v1.9.3