| | |
| | | @Component |
| | | public class GoogleMapUtil { |
| | | |
| | | private static final String key = "AIzaSyBBW0XxW1FK7IXmmS7KFtAjX3o99eFPsss"; |
| | | // private final String key = "AIzaSyBBW0XxW1FK7IXmmS7KFtAjX3o99eFPsss"; |
| | | private final String key = "AIzaSyBBW0XxW1FK7IXmmS7KFtAjX3o99eFPsss"; |
| | | |
| | | @Autowired |
| | | private HttpClientUtil httpClientUtil; |
| | |
| | | * @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(); |
| | |
| | | */ |
| | | 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; |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | 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; |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | public void main(String[] ages){ |
| | | try { |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |