WEB开发网
开发学院手机开发Windows Mobile 开发 为Windows Mobile设备创建位置感知的应用程序 阅读

为Windows Mobile设备创建位置感知的应用程序

 2011-01-06 10:59:01 来源:WEB开发网   
核心提示: 首页完成改版,来提意见{IntPtr hRIL = IntPtr.Zero;IntPtr hResult = IntPtr.Zero;hResult = RIL.RIL_Initialize(1,new RIL.RILRESULTCALLBACK(CellTowerData),null, 0, 0, out hRI
首页完成改版,来提意见

{

IntPtr hRIL = IntPtr.Zero;

IntPtr hResult = IntPtr.Zero;

hResult = RIL.RIL_Initialize(1,

new RIL.RILRESULTCALLBACK(CellTowerData),

null, 0, 0, out hRIL);

if (hResult != IntPtr.Zero)

return null;

hResult = RIL.RIL_GetCellTowerInfo(hRIL);

dataReceived.WaitOne();

RIL.RIL_Deinitialize(hRIL);

CellTower ct = new CellTower();

ct.LAC = (int)towerInfo.dwLocationAreaCode;

ct.MCC = (int)towerInfo.dwMobileCountryCode;

ct.MNC = (int)towerInfo.dwMobileNetworkCode;

ct.CellId = (int)towerInfo.dwCellID;

return ct;

}

private static void CellTowerData(uint dwCode,

IntPtr hrCmdID, IntPtr lpData, uint cbData, uint dwParam)

{

towerInfo = new RIL.RILCELLTOWERINFO();

Marshal.PtrToStructure(lpData, (object)towerInfo);

dataReceived.Set();

}

}

为了取得你所连接的基站位置,你还需要一些其他的附加功能,如数据库或Web服务以查询基站的坐标。有一些商业的和一些免费的Web服务可用于取得蜂窝基站的位置信息。这篇文章使用了两个托管与Yahoo的Web服务来获取基站的经纬度信息。Yahoo有一个极其易用的Web服务可以取得蜂窝基站的邮政编码。有了蜂窝基站的邮政编码,你可以传递这个邮编给另一个Yahoo的Web服务以转化一个邮编为经纬度。要获得基站位置,请参阅Yahoo网站。传递从RIL_GetCellTowerInfo 得到的国家代码(dwMobileCountryCode)、网络代码(dwMobileNetworkCode)、地区代码(dwLocationAreaCode)和基站ID(dwCellID),你就可以得到一个包含基站位置的邮政编码。你可以传递这个邮编给另一个Yahoo Web 服务,就可以取得你当前连接的蜂窝基站的经纬度。要使用这些Web服务,你必须注册并获取个Application ID。获得一个Application Id是很容易的。下面的屏幕展示了通过不同的Web服务取得的基站位置。

Dd938890_d6c322f3-5331-4c2b-b13b-3ebdf0acc6a0(en-us,MSDN_10)

上一页  3 4 5 6 7 8 9 10 11 12  下一页

Tags:Windows Mobile 设备

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接