-(CLLocationCoordinate2D)sin:(CLLocationCoordinate2D)start End:(CLLocationCoordinate2D)end{
double t, t2, h,h2;
double lng1 = start.longitude;
double lng2 = end.longitude;
double lat1 = start.latitude;
double lat2 = end.latitude;
if (lng2 > lng1) {
if ((lng2 - lng1) > 180) {
if (lng1 < 0) {
lng1 = (180 + 180 + lng1);
}
}
}
if (lng1 > lng2) {
if ((lng1 - lng2) > 180) {
if (lng2 < 0) {
lng2 = (180 + 180 + lng2);
}
}
}
if (lat2 == lat1) {
t = 0;
h = lng1 - lng2;
} else {
if (lng2 == lng1) {
t = M_PI / 2;
h = lat1 - lat2;
} else {
t = atan((lat2 - lat1) / (lng2 - lng1));
h = (lat2 - lat1) / sin(t);
}
}
t2 = (t + (M_PI / 8));
h2 = h / 2;
double lng3 = h2 * cos(t2) + lng1;
double lat3 = h2 * sin(t2) + lat1;
CLLocationCoordinate2D returnL = CLLocationCoordinate2DMake(lat3, lng3);
return returnL;
}
原文地址:https://www.cnblogs.com/baxiu/p/11188801.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。