【问题标题】:Getting Location With getLastKnownLocation() does not get the right location使用 getLastKnownLocation() 获取位置没有得到正确的位置
【发布时间】:2016-04-30 22:33:34
【问题描述】:

我正在开发处理 Google Maps Api 的 Android 应用程序,我尝试使用 mMap.getLastKnownLocation(); 获取我的当前位置,然后获取 latitudelongitude 之后,传递给将相机移动到的方法我的位置

这是获取我的位置的部分

    Criteria criteria = new Criteria();
  Location location = locationManager.getLastKnownLocation(locationManager
            .getBestProvider(criteria, false));

    if( location != null ){
        double latitude = location.getLatitude();
        double longitude = location.getLongitude();
        AddMarkerAndMoveCamera(latitude,longitude);
        Toast.makeText(MapsActivity.this, "Latitude: " + latitude + "\nLongitude: " + longitude,Toast.LENGTH_LONG ).show();
    }

这是移动相机的部分

 public void  AddMarkerAndMoveCamera(double lat,double lng)
{
    LatLng MyLocation = new LatLng(lat, lng);
    mMap.addMarker(new MarkerOptions().position(MyLocation).title("This is Your Location ! Now !"));
    mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(MyLocation,15));


}

这是我在应用程序运行时得到的。

如果有任何关于如何获得真实位置的想法,而不仅仅是lastknownlocation将不胜感激。

【问题讨论】:

  • GetLocation() 方法在哪里?
  • @Blackkara 对不起,我用 `getLastKnownLocation() 更正它; `

标签: android google-maps android-maps-v2


【解决方案1】:

使用 getLastKnownLocation() 获取位置没有得到正确的位置

因为它在此方法中获取传递的提供程序的最后一个已知位置。

您需要新的位置。为此,check this link

编辑

在上面的链接中实现所需的东西后,你可以做这样的事情。

@Override
public void onLocationChanged(Location location) {
    double latitude = location.getLatitude();
    double longitude = location.getLongitude();
    AddMarkerAndMoveCamera(latitude,longitude);
    Toast.makeText(MapsActivity.this, "Latitude: " + latitude + "\nLongitude: " + longitude,Toast.LENGTH_LONG ).show();
 }

【讨论】:

  • 感谢您有兴趣帮助我解决我的问题,但我的代码和您的代码有点混淆! ..你能在我的代码中添加或删除以适应吗!
  • 是的,没错。因为你需要新鲜的位置。因此,要实现这一点,您必须提出位置请求。
  • 我不能在上面的链接中使用 Location 来获取新的位置吗?
  • 对不起,链接中的内容来自官方android资源。它是融合的位置提供者。无论如何,你也可以使用 LocationManager 来获取新的位置,检查这里vogella.com/tutorials/AndroidLocationAPI/article.html
猜你喜欢
  • 1970-01-01
  • 2021-09-29
  • 2011-04-21
  • 1970-01-01
  • 2012-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多