Android:如何:验证位置的纬度和经度值

时间:2011-09-09 01:53:41

标签: android

如何验证位置?似乎将它设置为这些值Location.setLatitude(999)& Location.setLongitude(999)有效(表示没有任何验证)。有没有Android方法来验证它? (我知道它的最大值和最小值,但只是想知道是否已经可以使用Android)

2 个答案:

答案 0 :(得分:11)

这是验证纬度和经度的简单函数

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

答案 1 :(得分:1)

我认为Android中没有任何东西可以做到这一点。就像你说的那样,最好只定义最小值和最大值。

在旁注中,您可以调用Google的地理编码服务并传入lat和long作为输入参数,以便在调用Location.setLatitude()之前检查有效位置的结果: http://code.google.com/apis/maps/documentation/geocoding/