2
 LocationDisplayManager lDisplayManager = null;

    lDisplayManager = mMapView.getLocationDisplayManager();
    lDisplayManager.setAutoPanMode(LocationDisplayManager.AutoPanMode.OFF);

    lDisplayManager.setLocationListener(new LocationListener() {


        @Override
        public void onLocationChanged(Location location) {

            double locy = location.getLatitude();
            double locx = location.getLongitude();

            SetMyLocationPoint(locx, locy);

        }

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

        }

        @Override
        public void onProviderEnabled(String provider) {

        }

        @Override
        public void onProviderDisabled(String provider) {

        }
    });

使用上面的代码,我能够检索用户当前位置并将其显示在 Map 上。它工作得很好,当用户从一个位置移动到另一个位置时,问题就出现了,地图也会更新。在我的应用程序场景中,当用户点击 LOCATE ME 按钮时,该位置仅被获取一次,因为不需要从用户获取继续位置。

我确实尝试过以下代码

this.lDisplayManager.stop();
mMapView.getLocationDisplayManager().stop();
lDisplayManager.setLocationListener(null);

上面的代码有效,但我必须手动调用它们以停止继续位置更新。有没有其他方法可以仅一次获取位置而不是 continue 。

4

0 回答 0