分类: C/C++
2008-03-13 17:22:20
简介 :
特性:
安装与配置:
注意事项:
使用方法:
生成配置 |
需要链接的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
GpsCreateEntry
GpsGetNumDevices
GpsEnumDevices
GpsDeleteEntry
GpsRenameEntry
GpsPropertiesDlg
GpsOpen
GpsClose
GpsGetPosition
GpsGetVersion
GpsDeviceNameAlreadyExists
GpsShowAboutBox
GpsGetDevice
GpsSetDevice
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 指向 GPSDEVINFO 结构的指针,该结构由函数体中的代码填写。
dwRequestedDevices 枚举的设备数。
注释
用此函数获取任何已安装 GPS 设备的配置参数。为了枚举当前所有 GPS 设备,必须将 dwRequestedDevices 设置为 GpsGetNumDevices 的返回值。
参见
GpsGetNumDevices, GPSDEVINFO, GpsGetDevice
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 接收器。
参见
GpsCreateEntry, GpsDeleteEntry
GpsPropertiesDlg
BOOL GpsPropertiesDlg(HWND hWnd, LPCTSTR lpszEntry);
返回值
如果属性对话框成功显示并且用户通过“OK”按钮关闭对话框。则返回 TRUE。
参数
hWnd 用于显示属性对话框的父窗口。
lpszEntry 显示该名称的 GPS 设备属性。
注释
显示与已安装的 GPS 接收器关联的属性对话框。如果用“OK”按钮关闭该对话框,则会保存对相关属性数据的更新。
参见
GpsCreateEntry, GpsDeleteEntry
GpsOpen
HGPS GpsOpen(LPCTSTR lpszEntry);
返回值
返回抽象的 HANDLE 类型(HGPS),该 HANDLE 表示一个到 GPS 接收器的连接。如果是一个无效的 HANDLE ,则由标准的 Win32 INVALID_HANDLE_VALUE 值表示。
参数
lpszEntry 打开连接的 GPS 设备名称。如果 lpszEntry 为 NULL。那么默认的 GPS 接收器将被打开。
注释
这是客户端程序用来获取 GPS 装置的主要函数。客户端程序还应该通过调用 GpsShowControlPanel 来提供打开控制面板的机制。
参见
GpsClose, GpsEnumDevices, GpsShowControlPanel
GpsClose
BOOL GpsClose(HGPS hEntry);
返回值
如果打开 GPS 接收器连接被成功关闭。则返回 TRUE。
参数
hEntry 要关闭的 GPS 接收器句柄。
注释
此函数通常只在客户端 GPS 程序退出之前被调用。
参见
GpsGetPosition
BOOL GpsGetPosition(HGPS hEntry, LPGPSPOSITION lpPosition);
返回值
如果打开连接的 GPS 装置被成功搜索到则返回 TRUE。
参数
hEntry 要搜索的 GPS 装置的 GPS 连接句柄。
Remarks
在成功调用 GpsOpen 函数之后,客户端程序应周期性地调用该函数,根据客户端程序的需要,建议调用间隔在 1-5 秒,如果返回成功,那么客户端程序可将 lpPosition 用于任何目的,如:在某个地图程序中,用此信息标出用户位置,也可以在屏幕地图上进行目标跟踪。
参见
GpsOpen, GpsClose, GPSPOSITION
GpsGetVersion
DWORD GpsGetVersion();
返回值
当前 GPSLIB 库的版本号,版本号值类型为 DWORD。
参数
无
注释
返回 GPSLIB dll 版本号。当前的值为 0x101,其对应的 GPSLIB 版本号为 v1.01。
GpsDeviceNameAlreadyExists
BOOL GpsDeviceNameAlreadyExists(LPCTSTR lpszEntry);
返回值
如果命名的 GPS 设备已经被安装,则返回 TRUE,否则返回 FALSE。
参数
lpszEntry GPS 设备名。该函数检查该设备是否安装。
注释
在函数内部,使用 GpsEnumDevices 确定命名的 GPS 设备是否已经安装。该函数被控制面板使用,以保证指定设备的唯一性。
参见
GpsShowAboutBox
void GpsShowAboutBox(HWND hWnd);
返回值
无
参数
hWnd 用于显示关于对话框的父窗口句柄。
注释
该函数显示一个“关于”对话框,其中包含 GPSLIB 的版本号以及版权信息。它被用于控制面板自己的“关于”对话框。
参见
GpsGetDevice
BOOL GpsGetDevice(LPCTSTR lpszEntry, LPGPSDEVINFO lpDevice);
返回值
如果成功找到该设备则返回 TRUE,否则返回 FALSE。
参数
lpszEntry 要对之进行设置的 GPS 设备名。
IpGpsDevInfo GPSDEVINFO 结构指针,该函数填写该结构,然后以参数形式返回该结构。
注释
获取给定名称的 GPS 设备的设置信息。如果 lpszEntry 被置为 NULL,那么获取的就是默认的 GPS 接收器设置。
参见
GpsSetDevice, GpsEnumDevices, GPSDEVINFO
GpsSetDevice
BOOL GpsSetDevice(LPCTSTR lpszEntry, LPCGPSDEVINFO lpGpsDevInfo);
返回值
如果成功更新设备的设置,则返回 TRUE,否则返回 FALSE。
参数
lpszEntry 要更新设置的 GPS 设备名。
IpGpsDevInfo GPSDEVINFO 常量结构指针,其中包含要更新的参数信息。
注释
更新指定名称的 GPS 设备设置。在调用该函数前,通常应该调用 GpsGetDevice 函数以保证 lpGpsDevInfo 包含有效成员。
参见
GpsGetDevice, GpsEnumDevices, GPSDEVINFO
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 |
改进计划: