zoukankan      html  css  js  c++  java
  • 地图根据起点和终点计算中心点角度来绘制弧线 iOS

    -(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;

    }

  • 相关阅读:
    linux会话浅析
    linux memory lock浅析
    浅谈动态库符号的私有化与全局化
    LINUX内核内存屏障
    linux内存屏障浅析
    linux内核mem_cgroup浅析
    记一个linux内核内存提权问题
    linux内核cfs浅析
    linux内核tmpfs/shmem浅析
    linux IPv4报文处理浅析
  • 原文地址:https://www.cnblogs.com/baxiu/p/11188801.html
Copyright © 2011-2022 走看看