From acb114190c6e6843a071c6ce50b1e28027adc862 Mon Sep 17 00:00:00 2001
From: yyy <1083599556@qq.com>
Date: 星期四, 07 五月 2026 10:38:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.0' into 1.0

---
 xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpMapController.java |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpMapController.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpMapController.java
index 929e52c..3e1c30b 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpMapController.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpMapController.java
@@ -28,7 +28,9 @@
 import org.bson.Document;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.data.geo.Point;
 import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.geo.GeoJsonPolygon;
 import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.validation.annotation.Validated;
@@ -143,13 +145,12 @@
         String fenceId = null;
         if(!operatingArea.isEmpty()){
             fenceId = operatingArea.get(0);
-            List<Document> pointsInFence = xpGeoFencingPolygonService.findPointsByParentId(fenceId, "fenceId", "prohibited_area");
-            for (Document document : pointsInFence) {
-                List<GeoPoint> points = document.getList("points", GeoPoint.class);
+            List<XpGeoFencingPolygon> pointsInFence = mongoTemplate.find(Query.query(Criteria.where("fenceId").is(fenceId)), XpGeoFencingPolygon.class);
+            for (XpGeoFencingPolygon xpGeoFencingPolygon : pointsInFence) {
+                GeoJsonPolygon points = xpGeoFencingPolygon.getPoints();
                 List<String> coordinatesList = new ArrayList<>();
-                // 一个区域的点位
-                for (GeoPoint point : points) {
-                    coordinatesList.add(point.getLongitude()+","+point.getLatitude());
+                for (Point point : points) {
+                    coordinatesList.add(point.getX()+","+point.getY());
                 }
                 JSONObject jsonObject = new JSONObject();
                 jsonObject.put("coordinates", coordinatesList);

--
Gitblit v1.7.1