一種智能手機定位監控系統的設計和實(shí)現
?。?)地圖顯示
任給一個(gè)經(jīng)緯度,要將其代表的位置在地圖上顯示出來(lái),就要將該經(jīng)緯度轉換為對應放大因子的tile坐標。本系統采用一種近似的方法轉換,經(jīng)過(guò)分析發(fā)現,經(jīng)度與x坐標呈線(xiàn)性對應關(guān)系,其計算公式為:
其中,longitude為經(jīng)度值,其范圍為-180~+180,西經(jīng)用負值表示,東經(jīng)用正值表示;0.0063為校正值;z為放大因子。
緯度與y坐標轉換公式為:
其中,latitude為緯度值,其范圍為-90~+90,北緯用正值表示,南緯用負值表示;z為放大因子。將經(jīng)緯度轉化為tile坐標后,就能將經(jīng)緯度與地圖匹配了,這樣就可以將經(jīng)緯度對應的位置在地圖上顯示出來(lái)。
本系統采用的Windows Mobile Pocket PC的窗體客戶(hù)區寬度和高度分別為240像素和268像素,每個(gè)tile為256×256像素,這樣客戶(hù)區就需要4個(gè)或6個(gè)tile拼接而成,如圖2和圖3所示。
?。?)地圖拖動(dòng)
地圖移動(dòng)相當于改變地圖的中心坐標。本系統實(shí)現地圖拖動(dòng)的方法為:當在觸摸屏上點(diǎn)擊地圖某一點(diǎn)時(shí),將地圖的中心坐標移到點(diǎn)擊處。如圖4所示,設點(diǎn)O為窗口客戶(hù)區中心,點(diǎn)P為點(diǎn)擊處,計算點(diǎn)P與點(diǎn)O的水平和垂直像素距離△Px和△Py,然后將地圖中心分別沿水平方向和垂直方向移動(dòng)△Px和△Py像素,即可實(shí)現地圖的拖動(dòng)功能,拖動(dòng)后地圖如圖5所示。
評論