買書捐殘盟

2011年9月20日 星期二

Google App Inventor - 使用手機的LocationSensor讀取經緯資料

現在的手機只要具備GPS的功能,就可以使用Google App Inventor裡的LocationSensor 來讀取
所在位置的經緯度、高度等資料。


(圖1-軟體介面外型)

部分程式:

其中:
1. [value latitude] -->由Location Sensor傳回的緯度數據
2. [value longitude]-->由Location Sensor 傳回的經度數據
3. LatitudeReport.Text --> 將[value latitude]顯示在(圖1)的緯度欄位
4. LongitudeReport.Text-->將[value longitude]顯示在(圖1)的經度欄位
5. AddressReport.Text-->將[LocationSensor1.CurrentAddress]的結果顯示在位址欄位

至於已知兩處AB的經緯度,如何得知A-B間最短的距離?
我利用:

其中:
其中 為大圓距離, 是地球半徑(6371km),而點 1 經度、緯度分別為 ,點 2 的經度、緯度分別為
其實這只是球面三角餘弦公式的推廣,注意經緯度的度數計算時要轉成徑度,才會計算正確。
d算出來的單位為km.

4 則留言:

  1. 已知經緯度,如果想在google map瀏覽,可輸入
    http://card.url.com.tw/realads/map_latlng.php?pos=24.823613,121.076505

    在pos=後面的兩個數字,第一個是緯度、第二個是經度

    回覆刪除
  2. 薛老師您好,

    關於距離公式,不知道從何處取得?沒見過這樣的式子。

    回覆刪除
  3. Bridan您好:
    我參考
    1.http://wywu.pixnet.net/blog/post/26533759-%E7%B6%93%E7%B7%AF%E5%BA%A6%E8%B7%9D%E9%9B%A2%E8%A8%88%E7%AE%97%E5%85%AC%E5%BC%8F
    2.http://www.cnblogs.com/ouling/archive/2011/08/26/2154555.html

    回覆刪除
  4. 我正在做類似的APP
    想請問你是怎麼取得A-B的方位角呢?

    回覆刪除