Vector2D:需要引入 implementation 'com.vividsolutions:jts-core:1.14.0'
/**经纬度转墨卡托投影*/
public Vector2D lonLatToMercator(Vector2D lonLat){
double x = lonLat.getX() * 20037508.34 / 180;
double y = Math.log(Math.tan((90 + lonLat.getY()) * Math.PI / 360)) / (Math.PI / 180);
y = y * 20037508.34 / 180;
Vector2D mercator = new Vector2D(x,y);
return mercator;
}
/**墨卡托投影转经纬度*/
public Vector2D MercatorTolonLat(Vector2D mercator){
double x = mercator.getX() / 20037508.34 * 180;
double y = mercator.getY() / 20037508.34 * 180;
y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2);
Vector2D lonLat = new Vector2D(x,y);
return lonLat;
}