From fd047fa7234dc11643dab8ecbf38e8d7a8ba0854 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 22 十一月 2025 23:48:12 +0800
Subject: [PATCH] feat:修改任务
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleGpsController.java | 55 +++++++++++++++++++++++++++++++++++--------------------
1 files changed, 35 insertions(+), 20 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleGpsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleGpsController.java
index 48791f2..188657d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleGpsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleGpsController.java
@@ -1055,9 +1055,9 @@
@GetMapping("/tianditu/place/suggestion")
public AjaxResult tiandituPlaceSuggestion(String keyWord, String region, String city, Integer count) {
try {
- // 妫�鏌ュ弬鏁�
+ // 妫�鏌ュ繀闇�鍙傛暟
if (keyWord == null || keyWord.trim().isEmpty()) {
- return AjaxResult.error("鍙傛暟涓嶅畬鏁达紝缂哄皯鎼滅储鍏抽敭璇�");
+ return AjaxResult.error("鍙傛暟涓嶅畬鏁达紝缂哄皯鎼滅储鍏抽敭璇�(keyWord)");
}
// 璁剧疆榛樿鍊�
@@ -1065,38 +1065,50 @@
count = 10;
}
- // 鏋勫缓澶╁湴鍥捐緭鍏ユ彁绀篈PI URL
- String url = "http://api.tianditu.gov.cn/search";
+ // 鏋勫缓澶╁湴鍥炬櫘閫氭悳绱PI URL
+ String url = "http://api.tianditu.gov.cn/v2/search";
StringBuilder paramsBuilder = new StringBuilder();
paramsBuilder.append("postStr={\"keyWord\":\"").append(keyWord).append("\"");
+ // 纭紪鐮佷腑鍥藉湴鍥捐寖鍥�
+ paramsBuilder.append(",\"mapBound\":\"").append("73.66,3.86,135.05,53.55").append("\"");
+ // 榛樿绾у埆涓�18
+ paramsBuilder.append(",\"level\":\"").append("18").append("\"");
+ // 榛樿鏌ヨ绫诲瀷涓烘櫘閫氭悳绱�
+ paramsBuilder.append(",\"queryType\":\"").append("1").append("\"");
+ // 榛樿璧峰浣嶇疆涓�0
+ paramsBuilder.append(",\"start\":\"").append("0").append("\"");
+ paramsBuilder.append(",\"count\":\"").append(count).append("\"");
+
+ // 娣诲姞鍙�夊弬鏁�
if (region != null && !region.trim().isEmpty()) {
- paramsBuilder.append(",\"region\":\"").append(region).append("\"");
+ paramsBuilder.append(",\"specify\":\"").append(region).append("\"");
}
if (city != null && !city.trim().isEmpty()) {
- paramsBuilder.append(",\"city\":\"").append(city).append("\"");
+ paramsBuilder.append(",\"dataTypes\":\"").append(city).append("\"");
}
- paramsBuilder.append(",\"count\":\"").append(count).append("\"");
- paramsBuilder.append("}" );
- paramsBuilder.append("&type=suggest");
+
+ paramsBuilder.append("}");
+ paramsBuilder.append("&type=query");
paramsBuilder.append("&tk=").append(tiandituMapConfig.getTk());
String params = paramsBuilder.toString();
- logger.info("澶╁湴鍥捐緭鍏ユ彁绀鸿姹�: keyWord={}, region={}", keyWord, region);
+ logger.info("澶╁湴鍥炬櫘閫氭悳绱㈣姹�: keyWord={}, count={}", keyWord, count);
+ logger.debug("鍦板浘璇锋眰鎺ュ彛鍙傛暟锛歿}", params);
// 鍙戦�丠TTP璇锋眰
String response = HttpUtils.sendGet(url, params);
- logger.debug("澶╁湴鍥捐緭鍏ユ彁绀哄搷搴�: {}", response);
+ logger.debug("澶╁湴鍥炬櫘閫氭悳绱㈠搷搴�: {}", response);
// 瑙f瀽鍝嶅簲
com.alibaba.fastjson2.JSONObject jsonResponse = com.alibaba.fastjson2.JSONObject.parseObject(response);
if (!"0".equals(jsonResponse.getString("status"))) {
- logger.error("杈撳叆鎻愮ず澶辫触: {}", response);
+ logger.error("鏅�氭悳绱㈠け璐�: {}", response);
return AjaxResult.error("鍦板潃鎼滅储澶辫触");
}
- // 鎻愬彇鎻愮ず鍒楄〃
- com.alibaba.fastjson2.JSONArray results = jsonResponse.getJSONArray("suggests");
+ // 鎻愬彇鎼滅储缁撴灉
+ com.alibaba.fastjson2.JSONArray results = jsonResponse.getJSONArray("pois");
if (results == null || results.isEmpty()) {
logger.info("鏈壘鍒板尮閰嶇殑鍦板潃");
return AjaxResult.success("鏌ヨ鎴愬姛", new ArrayList<>());
@@ -1109,13 +1121,16 @@
Map<String, Object> suggestion = new HashMap<>();
suggestion.put("name", item.getString("name")); // 鍚嶇О
- suggestion.put("address", item.getString("address")); // 鍦板潃
- suggestion.put("province", item.getString("province")); // 鐪�
+ suggestion.put("address", item.getString("addr")); // 鍦板潃
+ suggestion.put("province", item.getString("prov")); // 鐪�
suggestion.put("city", item.getString("city")); // 甯�
- suggestion.put("district", item.getString("district")); // 鍖�
+ suggestion.put("district", item.getString("county")); // 鍖哄幙
+ suggestion.put("tel", item.getString("tel")); // 鐢佃瘽
+ suggestion.put("postcode", item.getString("postcode")); // 閭紪
+ suggestion.put("type", item.getString("type")); // 绫诲瀷
// 缁忕含搴︿俊鎭�
- com.alibaba.fastjson2.JSONObject location = item.getJSONObject("location");
+ com.alibaba.fastjson2.JSONObject location = item.getJSONObject("lonlat");
if (location != null) {
Map<String, Object> locationMap = new HashMap<>();
locationMap.put("lon", location.getDouble("lon"));
@@ -1126,10 +1141,10 @@
suggestions.add(suggestion);
}
- logger.info("鍦板潃鎼滅储鎻愮ず鎴愬姛: 鎵惧埌{}鏉$粨鏋�", suggestions.size());
+ logger.info("鍦板潃鎼滅储鎴愬姛: 鎵惧埌{}鏉$粨鏋�", suggestions.size());
return AjaxResult.success("鏌ヨ鎴愬姛", suggestions);
} catch (Exception e) {
- logger.error("鍦板潃鎼滅储鎻愮ず澶辫触", e);
+ logger.error("鍦板潃鎼滅储澶辫触", e);
return AjaxResult.error("鍦板潃鎼滅储澶辫触锛�" + e.getMessage());
}
}
--
Gitblit v1.9.1