提交 66a4c048 编写于 作者: B Blankj

see 02/22 log

上级 e36f7d1f
......@@ -121,6 +121,34 @@ public final class CoordinateUtils {
return gcj02ToBd09(gcj[0], gcj[1]);
}
/**
* Mercator 坐标转 WGS84 坐标
*
* @param lng Mercator 坐标经度
* @param lat Mercator 坐标纬度
* @return WGS84 坐标:[经度,纬度]
*/
public static double[] mercatorToWGS84(double lng, double lat) {
double x = lng / 20037508.34d * 180.;
double y = lat / 20037508.34d * 180.;
y = 180 / PI * (2 * Math.atan(Math.exp(y * PI / 180.0)) - PI / 2);
return new double[]{x, y};
}
/**
* WGS84 坐标转 Mercator 坐标
*
* @param lng WGS84 坐标经度
* @param lat WGS84 坐标纬度
* @return Mercator 坐标:[经度,纬度]
*/
public static double[] wgs84ToMercator(double lng, double lat) {
double x = lng * 20037508.34D / 180.0;
double y = Math.log(Math.tan((90.0 + lat) * PI / 360.0)) / (PI / 180.);
y = y * 20037508.34D / 180.0;
return new double[]{x, y};
}
private static double transformLat(double lng, double lat) {
double ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng));
ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;
......
......@@ -389,9 +389,9 @@ public final class IntentUtils {
public static Intent getShutdownIntent() {
Intent intent;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
intent = new Intent(Intent.ACTION_SHUTDOWN);
} else {
intent = new Intent("com.android.internal.intent.action.REQUEST_SHUTDOWN");
} else {
intent = new Intent("android.intent.action.ACTION_REQUEST_SHUTDOWN");
}
intent.putExtra("android.intent.extra.KEY_CONFIRM", false);
return intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
......
......@@ -112,39 +112,34 @@ public final class ScreenUtils {
public static int getScreenDensityDpi() {
return Resources.getSystem().getDisplayMetrics().densityDpi;
}
/**
* Return X (width) of the screen expressed as dots-per-inch.
* Return the exact physical pixels per inch of the screen in the Y dimension.
*
* @return the width of screen density expressed as dots-per-inch
* @return the exact physical pixels per inch of the screen in the Y dimension
*/
public static int getScreenXDpi() {
public static float getScreenXDpi() {
return Resources.getSystem().getDisplayMetrics().xdpi;
}
/**
* Return Y (height) of the screen expressed as dots-per-inch.
* Return the exact physical pixels per inch of the screen in the Y dimension.
*
* @return the height of screen density expressed as dots-per-inch
* @return the exact physical pixels per inch of the screen in the Y dimension
*/
public static int getScreenYDpi() {
public static float getScreenYDpi() {
return Resources.getSystem().getDisplayMetrics().ydpi;
}
/**
* Return the distance between the given View's X (start point of View's width) and the screen width.
*
* @return the distance between the given View's X (start point of View's width) and the screen width.
*/
public float calculateDistanceByX(View view) {
int[] point = new int[0];
public int calculateDistanceByX(View view) {
int[] point = new int[2];
view.getLocationOnScreen(point);
return (getScreenWidth() - point[0]).toFloat();
return getScreenWidth() - point[0];
}
/**
......@@ -152,10 +147,10 @@ public final class ScreenUtils {
*
* @return the distance between the given View's Y (start point of View's height) and the screen height.
*/
public float calculateDistanceByY(View view) {
int[] point = new int[0];
public int calculateDistanceByY(View view) {
int[] point = new int[2];
view.getLocationOnScreen(point);
return (getScreenHeight() - point[1]).toFloat();
return getScreenHeight() - point[1];
}
/**
......@@ -163,23 +158,22 @@ public final class ScreenUtils {
*
* @return X coordinate of the given View on the screen.
*/
public int getViewX(View view){
int[] point = new int[0];
public int getViewX(View view) {
int[] point = new int[2];
view.getLocationOnScreen(point);
return point[0];
}
/**
* Return the Y coordinate of the given View on the screen.
*
* @return Y coordinate of the given View on the screen.
*/
public int getViewY(View view){
int[] point = new int[0];
public int getViewY(View view) {
int[] point = new int[2];
view.getLocationOnScreen(point);
return point[1];
}
/**
* Set full screen.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册