gpt4 book ai didi

java - 纬度和经度的增量米

转载 作者:搜寻专家 更新时间:2023-11-01 08:54:58 27 4
gpt4 key购买 nike

我正在使用 Google map v2 开发 Android 应用程序。在我的例子中,我有几个具有相同 LA/LO 的点,这会产生一些 UX 问题,一个是在 map 上选择点...所以我需要获得具有相同 LA/LO 的这些点,并为每个点添加一些仪表,例如 50m 有一个很好的距离,它可以避免问题。我如何进行此计算以增加 LA/LO 上的米数?

非常感谢!

最佳答案

这是一个方法,它获取坐标、以米为单位的距离和以度为单位的方位角并返回新坐标。

public static Coordinate calcEndPoint(Coordinate center , int distance, double  bearing)
{
Coordinate gp=null;

double R = 6371000; // meters , earth Radius approx
double PI = 3.1415926535;
double RADIANS = PI/180;
double DEGREES = 180/PI;

double lat2;
double lon2;

double lat1 = center.getDoubleLat() * RADIANS;
double lon1 = center.getDoubleLon() * RADIANS;
double radbear = bearing * RADIANS;

// System.out.println("lat1="+lat1 + ",lon1="+lon1);

lat2 = Math.asin( Math.sin(lat1)*Math.cos(distance / R) +
Math.cos(lat1)*Math.sin(distance/R)*Math.cos(radbear) );
lon2 = lon1 + Math.atan2(Math.sin(radbear)*Math.sin(distance / R)*Math.cos(lat1),
Math.cos(distance/R)-Math.sin(lat1)*Math.sin(lat2));

// System.out.println("lat2="+lat2*DEGREES + ",lon2="+lon2*DEGREES);

gp = new Coordinate( lon2*DEGREES, lat2*DEGREES);

return(gp);
}

关于java - 纬度和经度的增量米,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19803604/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com