gpt4 book ai didi

android - 使用 getLastKnownLocation() 获取位置无法获得正确的位置

转载 作者:行者123 更新时间:2023-11-29 01:20:43 25 4
gpt4 key购买 nike

我正在开发处理 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));


}

这是我在应用程序运行时得到的。 my marker position and my real position

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

最佳答案

Getting Location With getLastKnownLocation() does not get the right location

因为它正在获取此方法中传递的提供者的最后已知位置。

您需要新的位置。为此,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();
}

关于android - 使用 getLastKnownLocation() 获取位置无法获得正确的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36960978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com