Dopo una lunga ricerca e un divertente apprendimento sulla mappa delle mappe di Google, sto costruendo un'applicazione per la mappa di un'antenna digitale. A questo punto, il prossimo passo nel piano del progetto è quello di costruire una replica mappa di memoria della mappa di google che sta localizzando le stazioni tv digitali in base all'input dall'indirizzo dell'utente. Quindi, sto usando questo codice matematico per formulare il rilevamento del centro della mappa di google e un punto lat/lng dal set di risultati del database.Mappatura matematica e Javascript
La mia domanda è: come posso completare i calcoli per mostrare il rilevamento in gradi?
questo codice è la matematica che restituisce il set di risultati seguente matrice:
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);
Sembra che ci manca qualcosa nei miei calcoli. La tabella db mantiene i valori di longitudine come numero negativo per rappresentare il quadrante occidentale superiore del globo.
Qualsiasi suggerimento per completare la mia matematica salverebbe un milione di nueron, ho già bruciato un trilione.
Prendendo le gradi a radianti suggerimento, ho modificato il codice 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 sito del progetto di prova: click here
il div in fondo alla pagina è un insieme di risultati restituito da 2 matrici, la prima che tiene la distanza e la seconda tiene la misura del cuscinetto.
grazie Justin – rjsteward