如何停止LocationDisplayManager监听位置更新ESRI ArcGiS Android 10.2.9?

时间:2017-06-08 07:50:59

标签: arcgis esri esri-maps arcgis-android-api

 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);

以上代码有效,但我必须手动调用它们以停止继续位置更新。是否有任何替代方法只能一次获取位置而不是继续。

0 个答案:

没有答案