强制标记到最近的道路谷歌地图Android

时间:2015-06-29 12:35:20

标签: android google-maps gps marker

我正在开发一个跟踪用户GPS位置的应用程序,并在地图中用标记显示它。更新是每2秒。

问题是我得到的位置不如WAZE,地图等其他应用程序那么准确。用户总是驾驶,所以在路上,但标记有时左右几米左右。

使用其他应用程序时,这种情况并没有发生,就像他们知道你在一条道路上并且忽略了一点GPS错误而把它锁定在它的位置。

  • 没有目的地位置
  • “免费模式”
  • 将标记移至最近的道路

我需要一个本地解决方案,不需要任何路线或路线API请求。

提前致谢。

1 个答案:

答案 0 :(得分:0)

要获得最准确的位置,请使用GPS_PROVIDER

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 0, getApplicationContext());

在onLocationChanged()中,检查收到的位置的准确性,如果它足够准确,那么执行你的任务,否则忽略它。

 @Override
    public void onLocationChanged(Location arg0) {
        // TODO Auto-generated method stub
        float accuracy=arg0.getAccuracy();
        if(accuracy<10){//set your desired accuracy , lesser the value the more accurate it is
            //do your tasks
        }
        else{
            Toast.makeText(getApplicationContext(), "Location not accurate enough ("+accuracy+")" , Toast.LENGTH_SHORT).show();
        }

    }

}