什么是新的getMyLocation函数而不是已弃用的函数?(Android Java)

Sou*_*uri 5 android google-maps

我有一个Google Maps活动,我想获取用户的位置,但是我想使用的功能:getMyLocation() 已弃用。

这是我的代码:

@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;
    // This function is deprecated
    // What is the new function?
    mMap.getMyLocation();

    // Add a marker in Sydney and move the camera
    LatLng sydney = new LatLng(-34, 151);
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
Run Code Online (Sandbox Code Playgroud)

Com*_*are 5

引用文档

请改用com.google.android.gms.location.FusedLocationProviderApi。FusedLocationProviderApi提供了改进的位置查找和电源使用方式,并由“我的位置”蓝色点使用。有关示例代码示例,请参见示例应用程序文件夹中的MyLocationDemoActivity或《位置开发人员指南》

IOW,没有替换方法。相反,您可以使用其他API查找用户的位置。

  • FusedLocationApi 很容易出现 wifi/小区位置错误。这是当手机信号塔的位置信息错误并且没有 GPS 时,该提供商可能报告的位置与真实位置相距数公里。但 GoogleMap 似乎有一些针对此错误的解决方法。因此,有充分的理由使用 getMyLocation() 函数。请参阅 https://code.google.com/p/android/issues/detail?id=184005 Google 地图是闭源的,但如果有人能启发我们 Google 地图实际上如何处理这个问题,那就太好了。 (2认同)