From 434088b7d4ee12c1206cfb194da2b600f4815f94 Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期二, 15 八月 2023 18:27:37 +0800 Subject: [PATCH] broker 卡车公司端 --- src/main/java/com/stylefeng/guns/modular/system/utils/GoogleMap/GoogleMapUtil.java | 128 +++++++++++++++++++++++------------------- 1 files changed, 71 insertions(+), 57 deletions(-) diff --git a/src/main/java/com/stylefeng/guns/modular/system/utils/GoogleMap/GoogleMapUtil.java b/src/main/java/com/stylefeng/guns/modular/system/utils/GoogleMap/GoogleMapUtil.java index f727ca7..1a917b6 100644 --- a/src/main/java/com/stylefeng/guns/modular/system/utils/GoogleMap/GoogleMapUtil.java +++ b/src/main/java/com/stylefeng/guns/modular/system/utils/GoogleMap/GoogleMapUtil.java @@ -21,7 +21,8 @@ @Component public class GoogleMapUtil { - private static final String key = "AIzaSyBBW0XxW1FK7IXmmS7KFtAjX3o99eFPsss"; + // private final String key = "AIzaSyBBW0XxW1FK7IXmmS7KFtAjX3o99eFPsss"; + private final String key = "AIzaSyBBW0XxW1FK7IXmmS7KFtAjX3o99eFPsss"; @Autowired private HttpClientUtil httpClientUtil; @@ -32,7 +33,8 @@ * @param address 地址信息 * @throws Exception */ - public static GeocodeVo getGeocode(String address){ + public GeocodeVo getGeocode(String address){ + log.info("谷歌地图 根据地址获取经纬度:"+address); GeoApiContext context = new GeoApiContext.Builder() .apiKey(key) .build(); @@ -68,40 +70,40 @@ */ public ReverseGeocodeVo getReverseGeocode(double lat, double lng) throws Exception{ // TODO: 2022/10/22 临时用IGO跳转 - Map<String, Object> map = new HashMap<>(); - map.put("lat", lat); - map.put("lng", lng); - map.put("key", key); - HttpResult httpResult = httpClientUtil.pushHttpRequset("POST", "http://182.160.16.251:1010/base/googleMap/getReverseGeocode", map, null, "form"); - ReverseGeocodeVo reverseGeocode = JSON.parseObject(httpResult.getData(), ReverseGeocodeVo.class); - return reverseGeocode; +// Map<String, Object> map = new HashMap<>(); +// map.put("lat", lat); +// map.put("lng", lng); +// map.put("key", key); +// HttpResult httpResult = httpClientUtil.pushHttpRequset("POST", "http://182.160.16.251:1010/base/googleMap/getReverseGeocode", map, null, "form"); +// ReverseGeocodeVo reverseGeocode = JSON.parseObject(httpResult.getData(), ReverseGeocodeVo.class); +// return reverseGeocode; -// GeoApiContext context = new GeoApiContext.Builder() -// .apiKey(key) -// .build(); -// GeocodingApiRequest request = GeocodingApi.reverseGeocode(context, new LatLng(lat, lng)); -// GeocodingResult[] results = request.await(); -// ReverseGeocodeVo vo = null; -// if(results.length > 0){ -// Gson gson = new GsonBuilder().setPrettyPrinting().create(); -// System.out.println(gson.toJson(results[0].addressComponents)); -// -// -// vo = new ReverseGeocodeVo(); -// AddressComponent[] addressComponents = results[0].addressComponents; -// AddressComponentsVo[] addressComponentsVos = new AddressComponentsVo[addressComponents.length]; -// for (int i = 0; i < addressComponents.length; i++) { -// AddressComponentsVo addressComponentsVos1 = new AddressComponentsVo(); -// addressComponentsVos1.setLongName(addressComponents[i].longName); -// addressComponentsVos1.setShortName(addressComponents[i].shortName); -// addressComponentsVos[i] = addressComponentsVos1; -// } -// String address = results[0].formattedAddress; -// vo.setAddressComponentsVos(addressComponentsVos); -// vo.setAddress(address); -// } -// context.shutdown(); -// return vo; + GeoApiContext context = new GeoApiContext.Builder() + .apiKey(key) + .build(); + GeocodingApiRequest request = GeocodingApi.reverseGeocode(context, new LatLng(lat, lng)); + GeocodingResult[] results = request.await(); + ReverseGeocodeVo vo = null; + if(results.length > 0){ + Gson gson = new GsonBuilder().setPrettyPrinting().create(); + System.out.println(gson.toJson(results[0].addressComponents)); + + + vo = new ReverseGeocodeVo(); + AddressComponent[] addressComponents = results[0].addressComponents; + AddressComponentsVo[] addressComponentsVos = new AddressComponentsVo[addressComponents.length]; + for (int i = 0; i < addressComponents.length; i++) { + AddressComponentsVo addressComponentsVos1 = new AddressComponentsVo(); + addressComponentsVos1.setLongName(addressComponents[i].longName); + addressComponentsVos1.setShortName(addressComponents[i].shortName); + addressComponentsVos[i] = addressComponentsVos1; + } + String address = results[0].formattedAddress; + vo.setAddressComponentsVos(addressComponentsVos); + vo.setAddress(address); + } + context.shutdown(); + return vo; } @@ -197,29 +199,29 @@ */ public DistancematrixVo getDistancematrix(String origin, String destination) throws Exception{ // TODO: 2022/10/22 临时用IGO跳转 - Map<String, Object> map = new HashMap<>(); - map.put("origin", origin); - map.put("destination", destination); - map.put("key", key); - HttpResult httpResult = httpClientUtil.pushHttpRequset("POST", "http://182.160.16.251:1010/base/googleMap/getDistancematrix", map, null, "form"); - DistancematrixVo reverseGeocode = JSON.parseObject(httpResult.getData(), DistancematrixVo.class); - return reverseGeocode; +// Map<String, Object> map = new HashMap<>(); +// map.put("origin", origin); +// map.put("destination", destination); +// map.put("key", key); +// HttpResult httpResult = httpClientUtil.pushHttpRequset("POST", "http://182.160.16.251:1010/base/googleMap/getDistancematrix", map, null, "form"); +// DistancematrixVo reverseGeocode = JSON.parseObject(httpResult.getData(), DistancematrixVo.class); +// return reverseGeocode; -// GeoApiContext context = new GeoApiContext.Builder() -// .apiKey(key) -// .build(); -// DistanceMatrixApiRequest request = DistanceMatrixApi.getDistanceMatrix(context, new String[]{origin}, new String[]{destination}); -// request.mode(TravelMode.DRIVING);//出行方式(驾车) -// 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]; -// DistancematrixVo vo = new DistancematrixVo(); -// vo.setDistance(elements.distance.inMeters); -// vo.setDuration(elements.duration.inSeconds); -// return vo; + GeoApiContext context = new GeoApiContext.Builder() + .apiKey(key) + .build(); + DistanceMatrixApiRequest request = DistanceMatrixApi.getDistanceMatrix(context, new String[]{origin}, new String[]{destination}); + request.mode(TravelMode.DRIVING);//出行方式(驾车) + 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]; + DistancematrixVo vo = new DistancematrixVo(); + vo.setDistance(elements.distance.inMeters); + vo.setDuration(elements.duration.inSeconds); + return vo; } @@ -264,4 +266,16 @@ } + + + + public void main(String[] ages){ + try { + } catch (Exception e) { + e.printStackTrace(); + } + } + + + } -- Gitblit v1.7.1