From 8b09fbc19a96b57bf1d0e4d7c79b51a76aeca554 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 28 三月 2025 19:57:56 +0800 Subject: [PATCH] 修改bug --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java | 46 ++++++++++++++++++++++++++++++---------------- 1 files changed, 30 insertions(+), 16 deletions(-) diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java index 40b1db1..c9c45a9 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java @@ -4,13 +4,14 @@ import com.google.gson.GsonBuilder; import com.google.maps.*; import com.google.maps.model.*; +import com.stylefeng.guns.core.util.ToolUtil; /** * 谷歌地图工具类 */ public class GoogleMapUtil { - private final static String key = "AIzaSyA_FEliOkbkL1IAHQsnBpbpo9MlIp729H0"; + private final static String key = "AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts"; /** @@ -46,11 +47,14 @@ * @return * @throws Exception */ - public static ReverseGeocodeVo getReverseGeocode(double lat, double lng) throws Exception{ + public static ReverseGeocodeVo getReverseGeocode(double lat, double lng, String tripId) throws Exception{ GeoApiContext context = new GeoApiContext.Builder() .apiKey(key) .build(); GeocodingApiRequest request = GeocodingApi.reverseGeocode(context, new LatLng(lat, lng)); + if(ToolUtil.isNotEmpty(tripId)){ + request.header("X-Goog-Maps-Experience-ID", tripId);//行程id + } GeocodingResult[] results = request.await(); ReverseGeocodeVo vo = null; if(results.length > 0){ @@ -179,15 +183,31 @@ * @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); + public static DistancematrixVo getDistancematrix(Double sLat, Double sLnt, Double eLat, Double eLnt, String tripId) throws Exception{ + GeoApiContext context = new GeoApiContext.Builder() + .apiKey(key) + .build(); + DistanceMatrixApiRequest request = DistanceMatrixApi.newRequest(context); + request.origins(new LatLng(sLat, sLnt)); + request.destinations(new LatLng(eLat, eLnt)); + request.mode(TravelMode.DRIVING);//出行方式(驾车) + if(ToolUtil.isNotEmpty(tripId)){ + request.header("X-Goog-Maps-Experience-ID", tripId);//行程id } - return null; + DistanceMatrix distanceMatrix = request.await(); + Gson gson = new GsonBuilder().setPrettyPrinting().create(); + System.out.println(gson.toJson(distanceMatrix)); + context.shutdown(); + + DistanceMatrixElement elements = distanceMatrix.rows[0].elements[0]; + DistanceMatrixElementStatus status = elements.status; + if(status.compareTo(DistanceMatrixElementStatus.OK) != 0){ + return null; + } + DistancematrixVo vo = new DistancematrixVo(); + vo.setDistance(elements.distance.inMeters); + vo.setDuration(elements.duration.inSeconds); + return vo; } @@ -214,12 +234,6 @@ - public static void main(String[] ages){ - try { - } catch (Exception e) { - e.printStackTrace(); - } - } -- Gitblit v1.7.1