《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之77——BREW中位置信息的获得(LBS应用)...

IPosDet接口可以直接获得经纬度等相关信息,应用将这些信息传递给服务器与GIS系统配合使用就可以开发出各种丰富多彩的应用了,IPosDet的使用示例如下:

// create the instance for PosDet

ISHELL_CreateInstance(pi->a.m_pIShell, AEECLSID_POSDET, (void **) &(pi->m_pPosDet));

if(pi->m_pPosDet) {

// Initialize the Callback function

CALLBACK_Init(&pi->SimpleGPSCB, simplegps_PosDetCB, pi);

// You also can get seperate information through

IPOSDET_GetGPSInfo(pi->m_pPosDet, AEEGPS_GETINFO_LOCATION|AEEGPS_GETINFO_VELOCITY|AEEGPS_GETINFO_ALTITUDE,AEEGPS_ACCURACY_LEVEL1, &pi->m_gpsInfo, &pi->SimpleGPSCB);

}

return(TRUE);

Simplegps_PosDetCB函数将得到的位置信息显示的屏幕上以显示纬度为例的代码如下

// wasFactor is the factor between AEEGPSInfo and real world data.

STR_TO_WSTR("186413.5111",szNum,sizeof(szNum));

wgsFactor= WSTR_TO_FLOAT(szNum);

//Display Latitude on the screen

val = IntegerToFloat(pMe->m_gpsInfo.dwLat);

val = FDIV(val, wgsFactor);

FLOATTOWSTR(val, szNum, TEXT_BUFFER_SIZE);

STR_TO_WSTR("Lat:", szText, TEXT_BUFFER_SIZE);

WSTRCAT(szText,szNum);

// IDISPLAY_ClearScreen(pMe->a.m_pIDisplay);

IDISPLAY_DrawText(pMe->a.m_pIDisplay, // Display instance

AEE_FONT_BOLD, // Use BOLD font

szText, // Text - Normally comes from resource

-1, // -1 = Use full string length

0, // Ignored - IDF_ALIGN_CENTER

32, // Ignored - IDF_ALIGN_MIDDLE

NULL, // No clipping

IDF_ALIGN_CENTER);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值