arcgis-android-100.2 bug:Can only call this method on a loaded table

刚刚接触arcgis android,在存储地图要素的时候出现bug,导致应用闪退。异常日志:

this = {RuntimeInit$UncaughtHandler@7229} 
t = {Thread@3691} "Thread[main,5,main]"
e = {ArcGISRuntimeException@7230} "com.esri.arcgisruntime.ArcGISRuntimeException: Cannot call this method in this context"
 mAdditionalMessage = "Can only call this method on a loaded table."
 mCause = null
 mCode = 15
 mDomain = {ArcGISRuntimeException$ErrorDomain@7250} "ARCGIS_RUNTIME"
 mErrorMessage = "Cannot call this method in this context"
 cause = {ArcGISRuntimeException@7230} "com.esri.arcgisruntime.ArcGISRuntimeException: Cannot call this method in this context"

异常代码为:


  private void save2ArcgisService() {
        //保存路径到arcgis服务器
        final ServiceFeatureTable serviceFeatureTable = new ServiceFeatureTable(featureUrl);
        FeatureLayer featureLayer = new FeatureLayer(serviceFeatureTable);
        map.getMap().getOperationalLayers().add(featureLayer);
        polylinePoints.add(new Point(23.041117,113.810075));
        addFeature( new Polyline(polylinePoints), serviceFeatureTable);

    }

异常发生原因为ServiceFeatureTable加载完成之前调用地图要素存储方法。代码更正:

    private void save2ArcgisService() {
        //保存路径到arcgis服务器
        final ServiceFeatureTable serviceFeatureTable = new ServiceFeatureTable(featureUrl);
        FeatureLayer featureLayer = new FeatureLayer(serviceFeatureTable);
        map.getMap().getOperationalLayers().add(featureLayer);
        polylinePoints.add(new Point(23.041117,113.810075));
        serviceFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE);
        serviceFeatureTable.addLoadStatusChangedListener(new LoadStatusChangedListener() {
            @Override
            public void loadStatusChanged(LoadStatusChangedEvent loadStatusChangedEvent) {
                if (loadStatusChangedEvent.getNewLoadStatus() == LoadStatus.LOADED) {
                    addFeature( new Polyline(polylinePoints), serviceFeatureTable);
                }

            }
        });

    }

异常解决。

感谢 https://blog.csdn.net/allenlu2008/article/details/71440288

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值