@@ -3319,19 +3319,28 @@ function doTAKjson(p) {
33193319 d . lon = Number ( p . point . lon ) ;
33203320 if ( p . type . indexOf ( 'a' ) === 0 ) {
33213321 d . hdg = p . detail ?. track ?. course ;
3322- d . speed = p . detail ?. track ?. speed ;
3323- d . team = p . detail ?. __group ?. name ;
3324- d . team = d . team + ' <i style="color:' + d . team + '" class="fa fa-square"></i>' ;
3322+ if ( p . detail ?. track ?. speed ) {
3323+ d . speed = Number ( p . detail ?. track ?. speed ) ;
3324+ if ( d . speed == 9999999 || d . speed == 0 ) { delete d . speed ; }
3325+ else {
3326+ d . speed = d . speed + " m/s" ;
3327+ delete d . hdg ;
3328+ d . course = p . detail ?. track ?. course ;
3329+ d . options = { direction : d . course } ;
3330+ }
3331+ }
3332+ if ( p . detail ?. __group ?. name ) {
3333+ d . team = p . detail ?. __group ?. name ;
3334+ d . team = d . team + ' <i style="color:' + d . team + '" class="fa fa-square"></i>' ;
3335+ }
33253336 d . role = p . detail ?. __group ?. role ;
33263337 }
3327- if ( d . team == "undefined" ) { delete d . team ; }
33283338 d . type = p . type ;
33293339 d . remarks = p . detail ?. remarks
33303340 if ( p . detail ?. remarks && p . detail . remarks . hasOwnProperty [ "#text" ] ) {
33313341 d . remarks = p . detail . remarks [ "#text" ] ;
33323342 }
33333343 d . uid = p . uid ;
3334-
33353344 try {
33363345 var st = ( new Date ( p . time ) ) . getTime ( ) / 1000 ;
33373346 var et = ( new Date ( p . stale ) ) . getTime ( ) / 1000 ;
@@ -3340,11 +3349,11 @@ function doTAKjson(p) {
33403349 d . ttl = parseInt ( et - st ) ;
33413350 }
33423351 catch ( e ) { console . log ( e ) ; }
3343- d . alt = Number ( p . point . hae ) || 9999999 ;
3344- if ( d . alt && d . alt == 9999999 ) { delete d . alt ; }
3345- if ( d . speed && d . speed == 9999999 ) { delete d . speed ; }
3346- if ( d . hdg && d . hdg == 9999999 ) { delete d . hdg ; }
33473352 handleCoTtypes ( d , p ) ;
3353+ d . alt = Number ( p . point . hae ) || 9999999 ;
3354+ if ( d ?. alt && parseInt ( d . alt ) == 9999999 ) { delete d . alt ; }
3355+ else { d . alt = d . alt + "m" ; }
3356+ if ( d ?. hdg && parseInt ( d . hdg ) == 9999999 ) { delete d . hdg ; }
33483357 setMarker ( d ) ;
33493358 }
33503359 else {
@@ -3359,26 +3368,35 @@ function doTAKMCjson(p) {
33593368 var d = { } ;
33603369 d . lat = p . lat ;
33613370 d . lon = p . lon ;
3362- d . team = p . detail ?. group ?. name ;
3363- d . team = d . team + ' <i style="color:' + d . team + '" class="fa fa-square"></i>' ;
3371+ if ( p . detail ?. __group ?. name ) {
3372+ d . team = p . detail ?. __group ?. name ;
3373+ d . team = d . team + ' <i style="color:' + d . team + '" class="fa fa-square"></i>' ;
3374+ }
33643375 d . role = p . detail ?. group ?. role ;
33653376 d . type = p . type ;
33663377 d . uid = p . uid ;
33673378 d . name = p . detail ?. contact ?. callsign || p . uid ;
33683379 d . hdg = p . detail ?. track ?. course ;
3369- d . speed = p . detail ?. track ?. speed ;
3370- if ( d . team == "undefined" ) { delete d . team ; }
3371-
3380+ if ( p . detail ?. track ?. speed ) {
3381+ d . speed = Number ( p . detail ?. track ?. speed ) ;
3382+ if ( d . speed == 9999999 || d . speed == 0 ) { delete d . speed ; }
3383+ else {
3384+ d . speed = d . speed + " m/s" ;
3385+ delete d . hdg ;
3386+ d . course = p . detail ?. track ?. course ;
3387+ d . options = { direction : d . course } ;
3388+ }
3389+ }
33723390 try {
33733391 d . timestamp = ( new Date ( + p . sendTime ) ) . toISOString ( ) ;
33743392 d . staletime = ( new Date ( + p . staleTime ) ) . toISOString ( ) ;
33753393 d . ttl = parseInt ( ( + p . staleTime / 1000 ) - ( + p . sendTime / 1000 ) ) ;
33763394 } catch ( e ) { console . log ( e ) ; }
3395+ handleCoTtypes ( d , p ) ;
33773396 d . alt = p . hae || 9999999 ;
33783397 if ( d . alt && d . alt == 9999999 ) { delete d . alt ; }
3379- if ( d . speed && d . speed == 9999999 ) { delete d . speed ; }
3398+ else { d . alt = d . alt + "m" ; }
33803399 if ( d . hdg && d . hdg == 9999999 ) { delete d . hdg ; }
3381- handleCoTtypes ( d , p ) ;
33823400 setMarker ( d ) ;
33833401 }
33843402 else {
0 commit comments