在Android代码上路由中途点

时间:2012-08-09 12:52:30

标签: android google-maps

我画了这样的一句话,

我使用下面的代码找到了中点,

        public void midPoint(double lat1,double lon1,double lat2,double lon2){

        double dLon = Math.toRadians(lon2 - lon1);

        lat1 = Math.toRadians(lat1);
        lat2 = Math.toRadians(lat2);
        lon1 = Math.toRadians(lon1);

        double Bx = Math.cos(lat2) * Math.cos(dLon);
        double By = Math.cos(lat2) * Math.sin(dLon);
        finalLat= Math.toDegrees(Math.atan2(Math.sin(lat1) + Math.sin(lat2), Math.sqrt((Math.cos(lat1) + Bx) * (Math.cos(lat1) + Bx) + By * By)));
        finalLng= Math.toDegrees(lon1 + Math.atan2(By, Math.cos(lat1) + Bx));
    }

它成功运作..

enter image description here

但我无法找到“R” - 路线中途点。,如何在android上找到路线中途点。我在网上搜索过,我找到了https://gis.stackexchange.com/questions/18584/how-to-find-a-point-half-way-between-two-other-points。但是在这种方法中,为x,y,z指定了什么值。我不知道。

或任何其他代码在Android上找到Route的一半。

1 个答案:

答案 0 :(得分:0)

如果您自己画线,我假设您正在绘制线段,例如在第一个线段上方的图像中,第一个线段在图像上垂直(北?),第二个线段在水平方向上移动(东?)。如果是这样,那么计算线段的总距离,找到中途距离然后按特定顺序减去线段长度应该是一个简单的问题,直到你不能 - 剩下的位是到达的距离。沿当前线段的中途点。