如何验证位置?似乎将它设置为这些值Location.setLatitude(999)& Location.setLongitude(999)有效(表示没有任何验证)。有没有Android方法来验证它? (我知道它的最大值和最小值,但只是想知道是否已经可以使用Android)
答案 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°。
答案 1 :(得分:1)
我认为Android中没有任何东西可以做到这一点。就像你说的那样,最好只定义最小值和最大值。
在旁注中,您可以调用Google的地理编码服务并传入lat和long作为输入参数,以便在调用Location.setLatitude()之前检查有效位置的结果: http://code.google.com/apis/maps/documentation/geocoding/