📄 gpsapi.h
字号:
/**************************************************************************/
/* */
/* Copyright (c) 2000-2004 YULONG Company */
/* 宇龙计算机通信科技(深圳)有限公司 版权所有 2000-2006 */
/* */
/* PROPRIETARY RIGHTS of YULONG Company are involved in the */
/* subject matter of this material. All manufacturing, reproduction, use,*/
/* and sales rights pertaining to this subject matter are governed by the */
/* license agreement. The recipient of this software implicitly accepts */
/* the terms of the license. */
/* 本软件文档资料是宇龙公司的资产,任何人士阅读和使用本资料必须获得 */
/* 相应的书面授权,承担保密责任和接受相应的法律约束. */
/* */
/**************************************************************************
Copyright (C), 2000-2010, Yulong Tech. Co., Ltd.
FileName: Gpsapi.h
Author: ganjingjun
Version : 1.0
Date: 2008年01月30号
Description:
History:
<author> <time> <version > <desc>
ganjingjun 2007/05/30 1.0 Create this module
*****************************************************************************/
#pragma once
#ifdef GPSAPI_EXPORTS
#define GPSAPI_API __declspec(dllexport)
#else
#define GPSAPI_API __declspec(dllimport)
#endif
#define GPS_MAX_SATELLITES 12 //最大可见卫星数
#define GPS_MAX_FRIENDLY_NAME 64 //保留
#define GPS_MAX_PREFIX_NAME 16 //保留
#pragma pack(push, 1)
//定位质量
typedef enum {
GPS_FIX_QUALITY_UNKNOWN = 0,
GPS_FIX_QUALITY_GPS,
GPS_FIX_QUALITY_DGPS
} GPS_FIX_QUALITY;
//定位类型
typedef enum {
GPS_FIX_UNKNOWN = 0,
GPS_FIX_2D,
GPS_FIX_3D
} GPS_FIX_TYPE;
//定位选择
typedef enum {
GPS_FIX_SELECTION_UNKNOWN = 0,
GPS_FIX_SELECTION_AUTO,
GPS_FIX_SELECTION_MANUAL
} GPS_FIX_SELECTION;
//设备驱动信息(保留未用)
typedef struct _GPS_DEVICE {
DWORD dwVersion;
DWORD dwSize;
DWORD dwServiceState;
DWORD dwDeviceState;
FILETIME ftLastDataReceived;
WCHAR szGPSDriverPrefix[GPS_MAX_PREFIX_NAME];
WCHAR szGPSMultiplexPrefix[GPS_MAX_PREFIX_NAME];
WCHAR szGPSFriendlyName[GPS_MAX_FRIENDLY_NAME];
} *PGPS_DEVICE, GPS_DEVICE;
typedef struct _GPS_POSITION {
DWORD dwVersion; // 版本号(默认0)
DWORD dwSize; // 默认0
DWORD dwValidFields; // 默认0
DWORD dwFlags; // 默认0
SYSTEMTIME stUTCTime; // 卫星时间(UTC时间)
double dblLatitude; // 纬度
double dblLongitude; // 经度
float flSpeed; // 速度
float flHeading; // 方向
double dblMagneticVariation; // 默认0
float flAltitudeWRTSeaLevel; // 海拔高度
float flAltitudeWRTEllipsoid; // 默认0
GPS_FIX_QUALITY FixQuality; // 定位质量
GPS_FIX_TYPE FixType; // 定位类型
GPS_FIX_SELECTION SelectionType; // 选择类型
float flPositionDilutionOfPrecision; // 位置经度因子
float flHorizontalDilutionOfPrecision; // 水平经度因子
float flVerticalDilutionOfPrecision; // 垂直经度因子
DWORD dwSatelliteCount; // 定位卫星数
DWORD rgdwSatellitesUsedPRNs[GPS_MAX_SATELLITES]; // 保留
DWORD dwSatellitesInView; // 可见卫星数
DWORD rgdwSatellitesInViewPRNs[GPS_MAX_SATELLITES]; // 卫星编号
DWORD rgdwSatellitesInViewElevation[GPS_MAX_SATELLITES]; //卫星仰角
DWORD rgdwSatellitesInViewAzimuth[GPS_MAX_SATELLITES]; // 卫星方位角
DWORD rgdwSatellitesInViewSignalToNoiseRatio[GPS_MAX_SATELLITES]; //卫星信噪比
} GPS_POSITION, *PGPS_POSITION;
#pragma pack(pop)
/**
* 函数:打开GPS(此处把要打开连接的虚串口号,波特率等写在程序里, 当前函数的其中三个参数都作为保留参数以兼容mobile标准接口)
* @param [HANDLE] hNewLocationData 信号量句柄(NULL或通过CreateEvent创建的信号量, 如果不为NULL时, 当有GPS新数据时,则使此新号量有值)
* @param [HANDLE] hDeviceStateChange 保留参数(NULL)
* @param [WCHAR] *szDeviceName 保留参数(NULL)
* @param [DWORD] dwFlags 保留参数(0)
* @return HANDLE
*/
GPSAPI_API HANDLE GPSOpenDevice(HANDLE hNewLocationData,HANDLE hDeviceStateChange, const WCHAR* szDeviceName,DWORD dwFlags);
/**
* 函数:关闭GPS
* @param [HANDLE] hGpsHandle GPS设备句柄
* @return DWORD
*/
GPSAPI_API DWORD GPSCloseDevice(HANDLE hGPSDevice);
/**
* 函数: 取得数据信息
* @param [HANDLE] hGPSDevice GPS设备句柄
* @param [GPS_POSITION] pGPSPosition 数据信息结构指针
* @param [DOWRD] dwMaximumAge 保留参数
* @param [DWORD] dwFlags 保留参数
* @return DWORD
*/
GPSAPI_API DWORD GPSGetPosition(HANDLE hGPSDevice,GPS_POSITION *pGPSPosition,DWORD dwMaximumAge,DWORD dwFlags);
/**保留接口函数
* 函数: 获得设备状态信息
* @param [GPS_DEVICE] *pGPSDevice 设备驱动状态结构指针
* @return DWORD
*/
GPSAPI_API DWORD GPSGetDeviceState(GPS_DEVICE *pGPSDevice);
/**针对现有的硬件缺陷增加的手动复位接口
* 函数: 复位
* @param [HANDLE] hGPSDevice GPS设备句柄
* @return DWORD
*/
GPSAPI_API BOOL GPSResetDevice(HANDLE hGPSDevice);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -