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