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

ero*_*ros 6 android

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

小智 13

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

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

纬度测量一个地方赤道北部或南部的距离.赤道位于0°,北极位于北纬90°(或90°,因为正纬度表示北极),而南极位于90°以南(或-90°).纬度测量范围从0°到(+/-)90°.

经度测量一个地方位于本初子午线的东部或西部.本初子午线贯穿英格兰格林威治.经度测量范围从0°到(+/-)180°.

参考来自https://msdn.microsoft.com/en-us/library/aa578799.aspx


Ben*_*ben 2

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

顺便说一句,您可以调用 Google 的地理编码服务并传入纬度和经度作为输入参数,以在调用 Location.setLatitude() 之前检查结果是否有效: http: //code.google.com/apis/maps /文档/地理编码/