Después de una extensa investigación y un aprendizaje divertido sobre la API de mapeo de Google, estoy construyendo una aplicación de mapas de antenas digitales. En este punto, el siguiente paso en el plan del proyecto es construir una replicación del mapa de la memoria del mapa de Google que está ubicando las estaciones de televisión digital en función de la entrada de la dirección del usuario. Entonces, estoy usando este código matemático para formular el rumbo del centro del mapa de google y un punto lat/lng del conjunto de resultados de la base de datos.Mapeo de Matemáticas y Javascript
Mi pregunta es: ¿Cómo puedo completar los cálculos para mostrar la orientación en grados?
este código es la matemática que devuelve el siguiente conjunto de resultados matriz:
1.21
1.10
1.10
1.10
1.10
2.62
-0.29
-1.17
0.12
3.04
var y = Math.sin(longitude-center.lng()) * Math.cos(latitude);
var x = Math.cos(center.lat())*Math.sin(latitude) - Math.sin(center.lat())*Math.cos(latitude)*Math.cos(longitude-center.lng());
var bearing = (Math.atan2(y, x)).toFixed(2);
Parece que hay algo que falta en mis cálculos. La tabla db mantiene los valores de longitud como un número negativo para representar el cuadrante superior occidental del globo.
Cualquier sugerencia para completar mis cálculos ahorraría un millón de nuerons, ya he quemado un billón.
Tomando los grados a radianes sugerencia, he modificado el código javascript:
var radLat1 = center.lat() * Math.PI/180;
var radLat2 = latitude * Math.PI/180;
var radLng1 = center.lng() * Math.PI/180;
var radLng2 = longitude * Math.PI/180;
var y = Math.sin(radLng2- radLng1) * Math.cos(radLng2);
var x = Math.cos(radLat1)*Math.sin(radLat2) - Math.sin(radLat1)*Math.cos(radLat2)*Math.cos(radLng2-radLng1);
var bearing = (Math.atan2(y, x)).toFixed(2);
URL al sitio de pruebas del proyecto: click here
el div en la parte inferior de la página es un conjunto de resultados devueltos de 2 arrays, el primero sosteniendo la distancia y el segundo sosteniendo la medición del rumbo.
gracias Justin – rjsteward