From a349a38dbdb92e8cb21f47fe62e4cf1c071f3336 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 05 七月 2023 11:13:20 +0800 Subject: [PATCH] 1 --- src/main/java/com/yssh/service/impl/LocationServiceImpl.java | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/yssh/service/impl/LocationServiceImpl.java b/src/main/java/com/yssh/service/impl/LocationServiceImpl.java index 7060dc2..d8eec96 100644 --- a/src/main/java/com/yssh/service/impl/LocationServiceImpl.java +++ b/src/main/java/com/yssh/service/impl/LocationServiceImpl.java @@ -3,9 +3,11 @@ import com.yssh.dao.LocationMapper; import com.yssh.entity.Location; import com.yssh.service.ILocationService; +import com.yssh.utils.CalculateUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -17,6 +19,8 @@ public class LocationServiceImpl implements ILocationService { @Resource private LocationMapper mapper; + + private static List<Location> vocAddrs = null; @Override public List<Location> query(String name, String type) { @@ -37,4 +41,27 @@ public int deleteLocation(String id) { return mapper.deleteLocation(id); } + + @Override + public List<Location> selectVocAddrs(double x, double y) { + if (null == vocAddrs) { + vocAddrs = mapper.selectVocAddrs(); + + for (Location loc : vocAddrs) { + double X = CalculateUtils.getLon((int) loc.getLon(), (int) loc.getLat()); + double Y = CalculateUtils.getLat((int) loc.getLon(), (int) loc.getLat()); + loc.setLon(X); + loc.setLat(Y); + } + } + + List<Location> list = new ArrayList<>(); + for (Location loc : vocAddrs) { + if (Math.abs(loc.getLon() - x) <= 0.00009 && Math.abs(loc.getLat() - y) <= 0.00009) { + list.add(loc); + } + } + + return list; + } } -- Gitblit v1.9.3