分类:
2008-10-13 16:53:52
介绍一个简单的 GPS 应用软件开发包
作者:
简介 :
特性:
安装与配置:
注意事项:
使用方法:
生成配置 |
需要链接的GPSLIB
DLL |
Ascii Debug | GPS103D.DLL |
Ascii Release | GPS103.DLL |
Unicode Debug | GPS103UD.DLL |
Unicode Release | GPS103U.DLL |
生成配置 |
控制面板动态库 |
控制面板执行文件 |
Ascii Debug | GPS103D.CPL | GPS103D.EXE |
Ascii Release | GPS103.CPL | GPS103.EXE |
Unicode Debug | GPS103UD.CPL | GPS103UD.EXE |
Unicode Release | GPS103U.CPL | GPS103U.EXE |
API 参考:
GPSLIB DLLs 接口函数输出清单如下:
GpsShowControlPanel
BOOL GpsShowControlPanel();
返回值
如果控制面板程序显示成功,函数返回 TRUE,否则返回 FALSE。
参数
无
注释
调用此函数打开 GPS 接收器控制面板程序。通过该程序可以在系统中安装、配置和删除 GPS 接收器。
GpsCreateEntry
BOOL GpsCreateEntry(HWND hWnd);
返回值
如果安装新的 GPS 接收器成功,函数返回 TRUE,否则返回 FALSE。
参数
hWnd 用于此函数显示的用户界面元素父窗口句柄。
注释
调用此函数将显示一个基于向导的标准对话框,使用户可以在其计算机上安装 GPS 接收器。
参见
,
GpsGetNumDevices
DWORD GpsGetNumDevices();
返回值
当前安装的 GPS 接收器数目。
参数
无
注释
调用此函数可以返回当前安装的 GPS 接收器数目。
参见
,
GpsEnumDevices
DWORD GpsEnumDevices(LPGPSDEVINFO lpGpsDevInfo, DWORD dwRequestedDevices);
返回值
成功枚举的 GPS 设备数目。
参数
IpGpsDevInfo 指向 结构的指针,该结构由函数体中的代码填写。
dwRequestedDevices 枚举的设备数。
注释
用此函数获取任何已安装 GPS 设备的配置参数。为了枚举当前所有 GPS 设备,必须将 dwRequestedDevices 设置为 GpsGetNumDevices 的返回值。
参见
, ,
GpsDeleteEntry
BOOL GpsDeleteEntry(LPCTSTR lpszEntry);
返回值
如果成功删除 GPS 设备,则为 TRUE,否则为 FALSE。
参数
lpszEntry 要删除的 GPS 设备名。
注释
删除一个已安装的 GPS 设备。
参见
GpsRenameEntry
BOOL GpsRenameEntry(LPCTSTR lpszOldEntry, LPCTSTR lpszNewEntry);
返回值
如果针对 GPS 设备的改名成功,则为 TRUE,否则为 FALSE。
参数
lpszOldEntry 当前的 GPS 设备名。
lpszNewEntry GPS 设备新名称。
注释
改名已安装的 GPS 接收器。
参见
,
GpsPropertiesDlg
BOOL GpsPropertiesDlg(HWND hWnd, LPCTSTR lpszEntry);
返回值
如果属性对话框成功显示并且用户通过“OK”按钮关闭对话框。则返回 TRUE。
参数
hWnd 用于显示属性对话框的父窗口。
lpszEntry 显示该名称的 GPS 设备属性。
注释
显示与已安装的 GPS 接收器关联的属性对话框。如果用“OK”按钮关闭该对话框,则会保存对相关属性数据的更新。
参见
,
GpsOpen
HGPS GpsOpen(LPCTSTR lpszEntry);
返回值
返回抽象的 HANDLE 类型(HGPS),该 HANDLE 表示一个到 GPS 接收器的连接。如果是一个无效的 HANDLE ,则由标准的 Win32 INVALID_HANDLE_VALUE 值表示。
参数
lpszEntry 打开连接的 GPS 设备名称。如果 lpszEntry 为 NULL。那么默认的 GPS 接收器将被打开。
注释
这是客户端程序用来获取 GPS 装置的主要函数。客户端程序还应该通过调用 来提供打开控制面板的机制。
参见
, ,
GpsClose
BOOL GpsClose(HGPS hEntry);
返回值
如果打开 GPS 接收器连接被成功关闭。则返回 TRUE。
参数
hEntry 要关闭的 GPS 接收器句柄。
注释
此函数通常只在客户端 GPS 程序退出之前被调用。
参见
GpsGetPosition
BOOL GpsGetPosition(HGPS hEntry, LPGPSPOSITION lpPosition);
返回值
如果打开连接的 GPS 装置被成功搜索到则返回 TRUE。
参数
hEntry 要搜索的 GPS 装置的 GPS 连接句柄。
Remarks
在成功调用 函数之后,客户端程序应周期性地调用该函数,根据客户端程序的需要,建议调用间隔在 1-5 秒,如果返回成功,那么客户端程序可将 lpPosition 用于任何目的,如:在某个地图程序中,用此信息标出用户位置,也可以在屏幕地图上进行目标跟踪。
参见
, ,
GpsGetVersion
DWORD GpsGetVersion();
返回值
当前 GPSLIB 库的版本号,版本号值类型为 DWORD。
参数
无
注释
返回 GPSLIB dll 版本号。当前的值为 0x101,其对应的 GPSLIB 版本号为 v1.01。
GpsDeviceNameAlreadyExists
BOOL GpsDeviceNameAlreadyExists(LPCTSTR lpszEntry);
返回值
如果命名的 GPS 设备已经被安装,则返回 TRUE,否则返回 FALSE。
参数
lpszEntry GPS 设备名。该函数检查该设备是否安装。
注释
在函数内部,使用 确定命名的 GPS 设备是否已经安装。该函数被控制面板使用,以保证指定设备的唯一性。
参见
GpsShowAboutBox
void GpsShowAboutBox(HWND hWnd);
返回值
无
参数
hWnd 用于显示关于对话框的父窗口句柄。
注释
该函数显示一个“关于”对话框,其中包含 GPSLIB 的版本号以及版权信息。它被用于控制面板自己的“关于”对话框。
参见
GpsGetDevice
BOOL GpsGetDevice(LPCTSTR lpszEntry, LPGPSDEVINFO lpDevice);
返回值
如果成功找到该设备则返回 TRUE,否则返回 FALSE。
参数
lpszEntry 要对之进行设置的 GPS 设备名。
IpGpsDevInfo 结构指针,该函数填写该结构,然后以参数形式返回该结构。
注释
获取给定名称的 GPS 设备的设置信息。如果 lpszEntry 被置为 NULL,那么获取的就是默认的 GPS 接收器设置。
参见
, ,
GpsSetDevice
BOOL GpsSetDevice(LPCTSTR lpszEntry, LPCGPSDEVINFO lpGpsDevInfo);
返回值
如果成功更新设备的设置,则返回 TRUE,否则返回 FALSE。
参数
lpszEntry 要更新设置的 GPS 设备名。
IpGpsDevInfo 常量结构指针,其中包含要更新的参数信息。
注释
更新指定名称的 GPS 设备设置。在调用该函数前,通常应该调用 函数以保证 lpGpsDevInfo 包含有效成员。
参见
, ,
GPSLIB 使用的数据结构:
GPSDEVINFO Structure
typedef struct tagGPSDEVINFO
{
TCHAR szDeviceName[ GPS_MaxDeviceName + 1 ];
BOOL bDefaultReceiver;
WORD wCommPort;
DWORD dwCommBaudRate;
WORD wCommDataBits;
WORD wCommParity;
WORD wCommStopBits;
} GPSDEVINFO;
GPSDEVINFO 结构用于表示 GPS 接收器设备属性。
成员表:szDeviceName | GPS 设备名 |
bDefaultReceiver | 如果该设备为默认接收器,该值为 TRUE,否则为 FALSE |
wCommPort | GPS 接收器所连接的串行通讯口端口号 |
dwCommBaudRate | 用于连接该设备的波特率 |
wCommDataBits | 用与连接该设备通讯端口的数据位 |
wCommParity | 用于连接该设备的枚举类型校验位。此成员取值为下列值之一:
GpsParityNone |
wCommStopBits | 用与连接该设备的枚举类型停止位。此成员取值为下列值之一:
GpsStopBits1 |
GPSPOSITION Structure
typedef struct tagGPSPOSITION
{
BOOL bNorthing;
DWORD dwLatitude;
BOOL bEasting;
DWORD dwLongitude;
DWORD dwBearing;
DWORD dwSpeed;
WORD wFixYear;
WORD wFixMonth;
WORD wFixDay;
WORD wFixHour;
WORD wFixMinute;
WORD wFixSecond;
WORD nSatellites;
DWORD dwAntennaAltitude;
WORD wQualityIndicator;
} GPSPOSITION;
成员表:
bNorthing | 如果报告的位置在赤道以北,该值为 TRUE,否则为 FALSE。 |
dwLatitude | 纬度。该值与bNorthing一起从 NMEA 命令“GPRMC”中获取。 |
bEasting | 如果所报告的位置在格林威治本初子午线以东,该值为 TRUE,否则为 FALSE。 |
dwLongitude | 经度。该值与bEasting一起从 NMEA 命令“GPRMC”中获取。 |
dwBearing | 方位。该值从 NMEA 命令“GPRMC”获取。与接收器移动的罗盘方向对应。 |
dwSpeed | 以厘米/小时计算的速度。该值从 NMEA 命令“GPRMC”获取。与接收器移动的速度对应。 |
wFixYear | GPS 定位时间的年份。该值从 NMEA 命令“GPRMC”获取。 |
wFixMonth | GPS 定位时间的月份。该值从 NMEA 命令“GPRMC”获取。 |
wFixDay | GPS 定位时间的日期。该值从 NMEA 命令“GPRMC”获取。 |
wFixHour | GPS 定位时间的小时。该值从 NMEA 命令“GPRMC”获取。 |
wFixMinute | GPS 定位时间的分钟。该值从 NMEA 命令“GPRMC”获取。 |
wFixSecond | GPS 定位时间的秒数。该值从 NMEA 命令“GPRMC”获取。 |
nSatellites | 视图中的卫星数该值从 NMEA 命令“GPRMC”获取。 |
dwAntennaAltitude | 以厘米计算的接收器在平均海平面以上的海拔高度,该值从 NMEA 命令“GPRMC”获取。 |
wQualityIndicator | 枚举类型 GPS 质量指示器。该值从 NMEA
命令“GPRMC”获取。该成员取下列值之一:
GpsQualityFixNotAvailable |
改进计划:
作者的联系方式: