Java 如何筛选出城市级别的GPS位置并仅使用街道级别的位置?

Java 如何筛选出城市级别的GPS位置并仅使用街道级别的位置?,java,android,geolocation,Java,Android,Geolocation,我正在使用网络和gps提供商生成位置。 在使用它们之前,我将它们传递给一个名为“isUsable”的方法,如果它们是可用的,我就使用它 方法如下: public boolean isUsable(Location location) { return location!=null && location.hasAccuracy() && location.getAccuracy() < 800; } 公共布尔值可用(位置) { 返回位置!=null

我正在使用网络和gps提供商生成位置。 在使用它们之前,我将它们传递给一个名为“isUsable”的方法,如果它们是可用的,我就使用它

方法如下:

public boolean isUsable(Location location)
{
    return location!=null && location.hasAccuracy() && location.getAccuracy() < 800;
}
公共布尔值可用(位置)
{
返回位置!=null&&location.hasAccuracy()&&location.getAccuracy()<800;
}
换句话说,位置应该是存在的,准确且非常准确。测试应用程序后,在我的数据库中发现一个非常不准确的位置:“以色列,特拉维夫”


为什么?城市级位置的准确度可能低于800°

测试时您实际站在哪里?在特拉维夫?你的意思是以色列的GPS定位提供了超过800米的水平精度?@RobertHarvey是的,我站在特拉维夫,我只想使用街道水平的位置,而不是城市水平。@AlexWien我的意思是我不想使用这种位置,我的方法出了什么问题?为什么这个不准确的位置在我的方法中返回真值。如果你站在特拉维夫,为什么它不准确?使用街道级别的位置,而不是城市级别的位置。