क्या यह भी गलत है? मैंने पूरी चीज को अपफ्लोट मनमाना परिशुद्धता के साथ फिर से लगाया और इससे कोई फर्क नहीं पड़ता जिसे मुझे शुरू करने के लिए जाना चाहिए !!यह असर गणना इतना क्यों है?
public static double bearing(LatLng latLng1, LatLng latLng2) {
double deltaLong = toRadians(latLng2.longitude - latLng1.longitude);
double lat1 = toRadians(latLng1.latitude);
double lat2 = toRadians(latLng2.latitude);
double y = sin(deltaLong) * cos(lat2);
double x = cos(lat1) * sin(lat2) - sin(lat1) * cos(lat2) * cos(deltaLong);
double result = toDegrees(atan2(y, x));
return (result + 360.0) % 360.0;
}
@Test
public void testBearing() {
LatLng first = new LatLng(36.0, 174.0);
LatLng second = new LatLng(36.0, 175.0);
assertEquals(270.0, LatLng.bearing(second, first), 0.005);
assertEquals(90.0, LatLng.bearing(first, second), 0.005);
}
परीक्षा में प्रथम अभिकथन इस देता है:
java.lang.AssertionError: expected:<270.0> but was:<270.29389750911355>
0,29 काफी लंबे समय तक रहा है? क्या यह सूत्र मैं लागू करने के लिए चुना है?
क्या आप मनमाना-परिशुद्धता ट्रिग का उपयोग कर रहे हैं? –
क्या आप रेडियंस और डिग्री में जोड़ सकते हैं? – Ron
java.lang.Math ट्रिगर फ़ंक्शन का उपयोग करना और आयात स्थिर java.lang.Math.toDegrees; आयात स्थिर java.lang.Math.toRadians; – Greg