【问题标题】:My location and marker have different locations我的位置和标记有不同的位置
【发布时间】:2016-07-15 10:45:20
【问题描述】:

为什么我的位置和标记的位置不同?在添加标记之前,我单击浮动按钮,当我单击它时,我从LocationManager 调用getLatitudegetLongitude。这类似于准备好地图并移动相机时,所以我认为标记和 mylocation 必须相同:

这是我的代码:

private class MyLocationListeners implements LocationListener {
    @Override
    public void onLocationChanged(Location location) {
        longitude = null;
        latitude = null;

        longitude = String.valueOf(location.getLongitude());
        Log.d(TAG, "onLocationChanged1: " + longitude);

        latitude = String.valueOf(location.getLatitude());
        Log.d(TAG, "onLocationChanged2: " + latitude);
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {

    }

    @Override
    public void onProviderEnabled(String provider) {

    }

    @Override
    public void onProviderDisabled(String provider) {

    }
}

我设置MyLocationListener的代码:

locationListener = new MyLocationListeners();
locationManager.requestLocationUpdates(
        LocationManager.GPS_PROVIDER,
        5000,
        10,
        locationListener
);

【问题讨论】:

  • 你能分享你设置MyLocationListeners的代码吗?

标签: android google-maps


【解决方案1】:

My location layer 使用它自己的位置提供者,既不是融合位置提供者也不是位置管理器。来自the documentation

GoogleMap 对象的 my-location 层具有内置的位置提供程序,但可以用另一个实现此接口的提供程序来替换它。

此外,我的位置层、融合位置提供程序和位置管理器可以获取不同的位置(这取决于提供程序、GPS 和网络可用性......)。

您可以使用 GoogleMap.setLocationSource 方法替换 my-location 层的默认位置提供程序。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-07
  • 1970-01-01
  • 2019-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多