package com.netsdk.demo.example.turkcell.callback; import com.netsdk.lib.NetSDKLib; import com.sun.jna.Pointer; /** * * @author 47081 * @version 1.0 * @description GPS消息订阅的实现 * @date 2020/6/12 */ public class TurkcellGPSCallback implements NetSDKLib.fGPSRevEx{ private static TurkcellGPSCallback INSTANCE; private TurkcellGPSCallback(){ } public static TurkcellGPSCallback getInstance(){ if(INSTANCE==null){ INSTANCE=new TurkcellGPSCallback(); } return INSTANCE; } /** * * @param lLoginID * @param GpsInfo * longitude;// 经度(单位是百万分之度,范围0-360度) * latidude;// 纬度(单位是百万分之度,范围0-180度) * height; // 高度(米) * angle; // 方向角(正北方向为原点,顺时针为正) * speed;// 速度(单位是海里,speed/1000*1.852公里/小时) * starCount;// 定位星数,无符号 * antennaState;// 天线状态(true 好,false 坏) * orientationState;// 定位状态(true 定位,false 不定位) * @param stAlarmInfo * @param dwUserData * @param reserved */ @Override public void invoke(NetSDKLib.LLong lLoginID, NetSDKLib.GPS_Info.ByValue GpsInfo, NetSDKLib.ALARM_STATE_INFO.ByValue stAlarmInfo, Pointer dwUserData, Pointer reserved) { System.out.println(GpsInfo.revTime.toStringTime()+" Gps info: "+"is orientation:"+GpsInfo.orientationState+",longitude: "+GpsInfo.longitude/1000000.0 +"度, latitude: "+GpsInfo.latidude/1000000.0+"度, height: "+GpsInfo.height+"angle: "+GpsInfo.angle+",speed: "+GpsInfo.speed/1000.0*1.852+" km/h"); } }