1

こんな感じで線を引きました

以下のコードを使用して中間点を見つけました。

        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));
    }

その正常に動作..

ここに画像の説明を入力

しかし、私は「R」を見つけることができません-ルートの中間地点., Androidでルートの中間地点を見つける方法. ウェブで検索したところ、https://gis.stackexchange.com/questions/18584/how-to-find-a-point-half-way-between-two-other-pointsが見つかりました。しかし、この方法では、x、y、z にどのような値が割り当てられているのか..わかりません。

またはAndroidでルートの途中を見つけるためのその他のコード。

4

1 に答える 1

0

あなたが自分で線を描いている場合、私はあなたが線分を描いていると仮定しています. もしそうなら、線分の合計距離を計算し、中間距離を見つけてから、特定の順序で線分の長さを特定の順序で差し引くだけです。残っているビットは、現在の線分に沿った中間点。

于 2012-08-10T19:06:56.497 に答える