From 7da4caa40befd523033b8a1d01246ae468674680 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 12 九月 2022 08:57:59 +0800 Subject: [PATCH] 更新用户端接口 --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java | 38 ++++++++++++++++++++++++++++++++++---- 1 files changed, 34 insertions(+), 4 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java index cabe7c4..aa6b522 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java @@ -46,21 +46,31 @@ * @return * @throws Exception */ - public static String getReverseGeocode(double lat, double lng) throws Exception{ + public static ReverseGeocodeVo getReverseGeocode(double lat, double lng) throws Exception{ GeoApiContext context = new GeoApiContext.Builder() .apiKey(key) .build(); GeocodingApiRequest request = GeocodingApi.reverseGeocode(context, new LatLng(lat, lng)); GeocodingResult[] results = request.await(); - String address = null; + ReverseGeocodeVo vo = null; if(results.length > 0){ Gson gson = new GsonBuilder().setPrettyPrinting().create(); System.out.println(gson.toJson(results[0].addressComponents)); - address = results[0].formattedAddress; + + vo = new ReverseGeocodeVo(); + AddressComponent[] addressComponents = results[0].addressComponents; + AddressComponentsVo[] addressComponentsVos = new AddressComponentsVo[addressComponents.length]; + for (int i = 0; i < addressComponents.length; i++) { + addressComponentsVos[i].setLongName(addressComponents[i].longName); + addressComponentsVos[i].setShortName(addressComponents[i].shortName); + } + String address = results[0].formattedAddress; + vo.setAddressComponentsVos(addressComponentsVos); + vo.setAddress(address); } context.shutdown(); - return address; + return vo; } @@ -125,6 +135,26 @@ } + /** + * 获取两点之间的距离 + * @param sLat + * @param sLnt + * @param eLat + * @param eLnt + * @return + * @throws Exception + */ + public static DistancematrixVo getDistancematrix(Double sLat, Double sLnt, Double eLat, Double eLnt) throws Exception{ + ReverseGeocodeVo reverseGeocode = getReverseGeocode(sLat, sLnt); + ReverseGeocodeVo reverseGeocode1 = getReverseGeocode(eLat, eLnt); + if(null != reverseGeocode && null != reverseGeocode1){ + String origin = reverseGeocode.getAddress(); + String destination = reverseGeocode1.getAddress(); + return getDistancematrix(origin, destination); + } + return null; + } + /** * 获取两地点之间的线路规划 -- Gitblit v1.7.1