修改配置

master
游胜振 1 year ago
parent 1c02d5f852
commit e6c6358ea9
  1. 22
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/controller/HighDangerController.java
  2. 29
      hiatmp-hidden-danger-server/src/main/java/com/hisense/hiatmp/server_api/utils/CoordinateConverter.java
  3. 2
      hiatmp-model/src/main/java/com/hisense/hiatmp/model/common/HighDangerRoad.java

@ -351,20 +351,26 @@ public class HighDangerController {
if(roadInfo.getCoordinate() == null){
return ServerResponse.ok("无对应路口信息",null);
}
LinkedList<Map<String, Float>> coordinateMapTemporary = new LinkedList<>();
LinkedList<Map<String, Double>> coordinateMapTemporary = new LinkedList<>();
String[] split = roadInfo.getCoordinate().split(",");
for(int i = 0; i < split.length; i+=2){
CoordinateConverter coordinateConverter = new CoordinateConverter();
Map<String,Float> pointMap = new LinkedHashMap<>();
//CoordinateConverter coordinateConverter = new CoordinateConverter();
Map<String,Double> pointMap = new LinkedHashMap<>();
float x = Float.parseFloat(split[i]);
float y = Float.parseFloat(split[i + 1]);
float lon = Float.parseFloat(split[i]);
float lat = Float.parseFloat(split[i + 1]);
CoordinateConverter.AMap transform = highDangerService.transform(x, y);
//CoordinateConverter.AMap transform = highDangerService.transform(x, y);
pointMap.put("longitude", transform.getLongitude());
pointMap.put("latitude", transform.getLatitude());
CoordinateConverter.AMap aMap = CoordinateConverter.transform(lon, lat);
// 108.766167,34.207948
//System.out.println("GPS转高德之前:" + lon + "," + lat);
// 108.77088779593853,34.206482360676944
//System.out.println("GPS转高德之后:" + aMap.getLongitude() + "," + aMap.getLatitude());
pointMap.put("longitude", aMap.getLongitude());
pointMap.put("latitude", aMap.getLatitude());
coordinateMapTemporary.add(pointMap);
}
roadInfo.setCoordinateList(coordinateMapTemporary);

@ -24,7 +24,7 @@ public class CoordinateConverter {
*/
public static AMap transform(double wgLon, double wgLat) {
if (outOfChina(wgLat, wgLon)) {
return new AMap((float) wgLon, (float) wgLat);
return new AMap(wgLon, wgLat);
}
double dLat = transformLat(wgLon - 105.0, wgLat - 35.0);
@ -37,7 +37,7 @@ public class CoordinateConverter {
dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * pi);
double transLat = wgLat + dLat;
double transLon = wgLon + dLon;
return new AMap((float) transLon, (float) transLat);
return new AMap(transLon, transLat);
}
/**
@ -92,24 +92,39 @@ public class CoordinateConverter {
/**
* 经度
*/
private float longitude;
private double longitude;
/**
* 维度
*/
private float latitude;
private double latitude;
public AMap(float longitude, float latitude) {
public AMap(double longitude, double latitude) {
this.longitude = longitude;
this.latitude = latitude;
}
public float getLongitude() {
public double getLongitude() {
return longitude;
}
public float getLatitude() {
public double getLatitude() {
return latitude;
}
}
public static void main(String[] args) {
double lon = 120.420537;
double lat = 36.16946;
AMap aMap = transform(lon, lat);
// 108.766167,34.207948
System.out.println("GPS转高德之前:" + lon + "," + lat);
// 108.77088779593853,34.206482360676944
System.out.println("GPS转高德之后:" + aMap.getLongitude() + "," + aMap.getLatitude());
/**
* 108.77090467665,34.206496310764
* 高德APIhttps://lbs.amap.com/api/webservice/guide/api/convert)经纬度转换之后.
* 两者误差不是很大
*/
}
}

@ -79,7 +79,7 @@ public class HighDangerRoad implements Serializable {
@JsonIgnore
private String coordinate;
private List<Map<String,Float>> coordinateList;
private List<Map<String,Double>> coordinateList;
// 地址类型
// private String coordinateType;

Loading…
Cancel
Save