Delphi APP 開發入門(五)GPS 定位功能 by superlevin | CodeData
top

Delphi APP 開發入門(五)GPS 定位功能

分享:

Delphi APP 開發入門(四)簡易手電筒 << 前情

在行動裝置的應用上,大多會離不開GPS定位以及地圖功能。今天就來教大家製作一個簡易的定位結合地圖的APP-「我現在在那裡」,讀者們可以利用這個超級簡單的APP延伸進階成其他的應用。

一、開啟一個新的Mobile專案

螢幕快照 2014-06-03 上午8.14.45

螢幕快照 2014-06-03 上午8.14.55

二、在畫面上放置一個ListBox元件,屬性設定如下

Align : Top

GroupingKind : Grouped

StyleLookup: ListboxStyle

螢幕快照 2014-06-03 上午8.15.25       螢幕快照 2014-06-03 上午8.17.45

螢幕快照 2014-06-03 上午8.18.19    螢幕快照 2014-06-03 上午8.18.39

三、接著我們要在上面增加一個程式的抬頭,在ListBox按右鍵,Add Item -> TListBoxHeader。接著在ListBoxHeader上新增一個Label,把屬性設定如下

Align : Client

StyleLookup: toollabel

Text: 我現在在那裡

TextSettings->HorzAlign: Center

螢幕快照 2014-06-03 上午8.17.54

螢幕快照 2014-06-03 上午8.18.56

螢幕快照 2014-06-03 上午8.19.04

螢幕快照 2014-06-03 上午8.19.39    未命名 - 1

螢幕快照 2014-06-03 上午8.20.45

四、接著在畫面上設定定位功能的開關跟顯示經緯度,一樣在Listbox上右鍵Add Item -> TListBoxItem建立三次。修改每個ListBoxItem的Text屬性為開啟定位功能、經度、緯度。 螢幕快照 2014-06-03 上午8.21.08 螢幕快照 2014-06-03 上午8.21.37 螢幕快照 2014-06-03 上午8.23.03

五、在上面放上TSwitch跟Label元件如下。

螢幕快照 2014-06-03 上午8.24.59

六、接著要顯示Google 地圖,在畫面上放置TWebBrowser元件,把Align設為Client。

螢幕快照 2014-06-03 上午8.25.09

未命名 - 2

七、最後在畫面上放上LocationSensor元件即完成畫面佈置。

螢幕快照 2014-06-03 上午8.25.41

八、正式開始寫程式囉!需要寫程式的地方只有二個,一個是打開LocationSensor定位,另一個是顯示在地圖上。在Switch的OnSwitch事件中,輸入以下程式

螢幕快照 2014-06-03 上午8.26.17

procedure TForm1.Switch1Switch(Sender: TObject);
begin
  LocationSensor1.Active := Switch1.IsChecked;
end;

九、接著在LocationSensor的OnLocationChanged事件輸入以下程式

螢幕快照 2014-06-03 上午8.27.27

procedure TForm1.LocationSensor1LocationChanged(Sender: TObject;
  const OldLocation, NewLocation: TLocationCoord2D);
const
  sGoogleMapURL : String =  'http://maps.google.com/maps?q=%s,%s';
begin
  label2.Text := NewLocation.Latitude.ToString;
  label3.Text := NewLocation.Longitude.ToString;
  WebBrowser1.Navigate(Format(sGoogleMapURL,
                              [NewLocation.Latitude.ToString,
                               NewLocation.Longitude.ToString]));
end;

十、接著可以執行了!這邊是透過iOS模擬器執行的,如果要看到動態變動經緯度的效果,可以在模擬器的Debug -> Location ->設定成 City Run就會自動變動位置了。

螢幕快照 2014-06-03 上午8.51.57

螢幕快照 2014-06-03 上午8.58.56
本文章程式碼下載 >> GitHub

這幾個禮拜下來,是不是覺得Delphi的開發時間大部份都是在拖拖拉拉畫面中渡過呢?培養了興趣之後,下週我們要開始回歸到比較嚴肅的基本語法課程囉 :)

後續 >> Delphi APP 開發入門(六)Object Pascal 語法初探

分享:
按讚!加入 CodeData Facebook 粉絲群

相關文章

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

關於作者

本名林壽山,目前為自由開發者,也喜歡研究易經、奇門遁甲,從事資料庫程式設計、網頁設計、餐飲POS系統開發、iOS Swift行動裝置開發。使用Delphi 16年的7年級前段班生,致力於學習新的事物,希望讓更多人踏入寫程式的不歸路。近期在學校的產業學院講師,主要為PHP Laravel/Codeigniter的網站開發教學教育訓練,希望讓產業跟學術更加無縫接軌。 電子郵件: [email protected] 林壽山的部落格

熱門論壇文章

熱門技術文章