PHP NMEA na mapie google - zła lokalizacja

0

Dzień dobry.
Robię program zamieniający koordynaty z NMEA na GPS dla Google Maps.
Korzystam z takiej funkcji:

degWhole=Math.round((deg/100)); //gives me the whole degree part of Longitude
degDec = (deg - degWhole*100)/60; //give me fractional part of longitude
deg = degWhole + degDec; //Gives complete correct decimal form of Longitude degrees

Funkcja pochodzi z: http://www.toptechboy.com/arduino/lesson-25-display-your-gps-data-as-track-on-google-earth/

Ta funkcja pobiera dane takie jak: "deg = 5355.0527;"

a potem wynik wrzucam do:

   var point".$i." = new google.maps.LatLng(
                 ( tutaj ),
                 ( tutaj2));
             var marker".$i." = new google.maps.Marker({
               map: map,
               position: point".$i."
             });";

kod działa, ale koordynaty są parędziesiąt kflometrow dalej...
i to dzieje się gdy jest dużo punktów
wtedy trasa jest rozbita na kilka niezależnych punktów ...

Co jest nie tak w przeliczeniu punktów w standardzie NMEA?

0

Kilkadziesiąt km. to jest błąd rzędu pół stopnia. Tak duży błąd mógłby wziąć się stąd, że gdzieś tracisz część dziesiętną, degDec. Może kwestia reprezentacji danych?
Albo kwestia trybu zaokrąglania? Pamiętaj, że musisz zaokrąglać w dół. Może dla pewności użyj jakiegoś floor()... ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1