2011-09-09 71 views
2

如何驗證位置?似乎將它設置爲這些值Location.setLatitude(999)& Location.setLongitude(999)是有效的(意味着沒有任何驗證)。有沒有一種Android方式來驗證它? (我知道它的最大值和最小值,但只是想知道是否已經有可用的Android)Android:如何驗證位置的緯度和經度值

回答

0

我不認爲有什麼在Android做這個。就像你說的那樣,最好只定義最小值和最大值。

在一個側面說明,你可以調用谷歌的地理編碼服務,並通過在您的緯度和長調用Location.setLatitude()之前作爲輸入參數,檢查結果爲一個有效的位置: http://code.google.com/apis/maps/documentation/geocoding/

+0

採取

參考>檢查結果爲一個有效的位置調用Location.setLatitude()之前 - >無法理解這句話,你會闡述更多?我如何檢查結果? – eros

+0

我在想你可以調用服務並獲得JSON或XML結果。這裏是一個JSON響應的例子;您可以檢查「確定」狀態,並根據此返回碼允許或拒絕參數:http://code.google.com/apis/maps/documentation/geocoding/#JSON –

+0

明白了。但我選擇通過定義min和max來創建我自己的簡單驗證,因爲我沒有使用google的api。 – eros

6

這裏是簡單的功能驗證經緯度

public boolean isValidLatLng(double lat, double lng){ 
    if(lat < -90 || lat > 90) 
    { 
     return false; 
    } 
    else if(lng < -180 || lng > 180) 
    { 
     return false; 
    } 
    return true; 
} 

緯度措施的地方多遠北部或南部的赤道的位置。赤道位於0°,北極90°(或90°,因爲正緯度表示北),南極位於90°南(或-90°)。緯度測量範圍從0°到(+/-)90°。

經度測量一個地方所在的主子午線東或西的距離。主要子午線貫穿英格蘭格林威治。經度測量範圍從0°到(+/-)180°。從https://msdn.microsoft.com/en-us/library/aa578799.aspx

相關問題