2008-10-23 46 views
3

有沒有一種使用J2ME應用程序以編程方式確定手機粗略地理位置的方法,例如確定當前單元格?這個問題特別適用於非GPS功能的設備。Java移動應用程序的地理位置?

我不是在尋找一組地理座標,而是一個用戶定義位置特定軟件行爲的能力。

任何硬件解決方案將高度讚賞;然而,更通用的解決方案是 - 更好。非常感謝!

回答

7

如果設備支持JSR 179位置API,則可以使用此設置。上次我幾乎沒有任何設備支持它,但那是幾年前。

0

我不相信有一個通用的J2ME API來確定位置。

我知道BlackBerry有一個特定的API,用於檢索粗糙的「細胞」位置,同時也提供GPS API。

目前,恐怕GPS解決方案是由製造商專有的。

+0

謝謝肯,任何可以提供給黑莓的鏈接? – 2008-10-23 11:50:55

+0

您可能必須註冊爲BB開發人員(免費)才能查看此文檔。 顯然還有一個用於javax.microedition.location的JSR,BB有一個實現。 [http://na.blackberry.com/eng/developers/javaappdev/advancedfeatures.jsp] – 2008-10-23 14:57:11

0

國際海事組織,沒有任何申請可以自己做到這一點。它將需要衛星或手機的幫助,手機塔,以便移動手機目前的位置,這個位置也準確地在30-50米左右。 Locate phone http://biblestudysite.com/triangulation.jpg

這裏的計算將由Cell塔中的軟件或衛星中的軟件完成。您的應用程序只會提出請求,然後收到通過回覆發送的數據。

此外,您將使用的apis將是由手機公司或sattellite服務提供的apis。這些幾乎都是免費的。我不確定他們是否也將它出售給oridinary用戶。只有黑莓或其他大公司纔有可能。

6

這是我第一次發佈一個stackoverflow。

你可以得到的CellID上很多手機通System.getProperty(String arg) 這裏(手機極了移動終端連接到的ID),我有嘗試幾個鍵的例子,看看是否CELLID可找到。我已經在很多SonyEricsson手機上測試過它,只要它不是像P1等Symbian手機那樣工作正常。如果你搜索網絡,你可能會發現更多的密鑰來找到摩托羅拉,三星等cellID:s。

try{ 
    String[] cellIDTags = {"com.sonyericsson.net.cellid", "phone.cid", "Siemens.CID", "CellID"}; 
    for(int i = 0; i < cellIDTags.length; i++){ 
    cellID = System.getProperty(cellIDTags[i]); 
    if(cellID != null && cellID != ""){ 
     location.setCellId(cellID); 
     break; 
    } 
    } 
}catch(Exception e){ 
    cellID = ""; 
} 
0

我經歷了許多的應用程序下載網站瀏覽,但沒有發現任何:: ,但我相信這方面的一些研究可以幫助你建立與J2ME API自己的應用程序。 由DAN給出的代碼給出了基站號碼。您可以識別該單元能夠對應的最近的電臺。實際上一個小區能夠同時捕捉至少6個電臺,所以deamonkid解釋說如果你有一個地理參考的你所在地區或城市的地圖,可以使用多邊測量來近似位置。應用程序將計算距離最近的塔的距離和方向,並且地圖已經具有該基站的座標。所以你可以計算空間座標(估計)蘇雷什。 由此可以得到100米的精確度。 這可能需要您可能會下載的信號強度測量應用程序。 現在,如果您可以基於此生成代碼,請分享。我也對此進行了廣泛的研究。祝你好運suresh和所有

相關問題