首页 / 浏览问题 / 移动GIS / 问题详情
最短路径分析--更换自己数据后报错
4EXP 2019年07月30日

使用产品:idesktop 操作系统:win10 x64
数据类型: udb
问题详细描述:在imobile中的帮助文档里面的最短路径分析(FindPath)代码写,能实现了实例数据Changchun.udb的最短路径分析,然后更换为自己在idesktop上制作的udb文件,点击跳转到地图页面后无法运行并闪退。

idesktop制作的数据结构如下:

testing_Node就是在idesktop上制作的最短路径分析服务。

在AS中报的错误如下:

2019-07-30 15:37:50.622 19730-19730/com.example.app E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.app, PID: 19730
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.app/com.example.app.DiTu}: java.lang.IllegalArgumentException: dataset
    参数为空
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2946)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3081)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:201)
        at android.app.ActivityThread.main(ActivityThread.java:6806)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
     Caused by: java.lang.IllegalArgumentException: dataset
    参数为空
        at com.supermap.mapping.Layers.add(Layers.java:314)
        at com.example.app.DiTu.initialize(DiTu.java:211)
        at com.example.app.DiTu.onCreate(DiTu.java:134)
        at android.app.Activity.performCreate(Activity.java:7224)
        at android.app.Activity.performCreate(Activity.java:7213)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2926)
        	... 11 more

其中报211行错误的代码如下:

//加载线数据集并设置风格
        m_layerLine = mMapControl.getMap().getLayers().add(m_datasetLine,
                true);

猜测可能是线数据集的问题,但是不知道怎么处理。。。

还有想请问一下,如果之后发布服务后,通过地图url和最短路径服务url怎么实现同样的效果呢?有没有实例代码可以参考呢?

1个回答

您好,1.报错信息是由于数据集dataset为空,调试一下您的代码看数据源示范能够正常获取,如果能获取再看一下数据集能否获取成功。

2.你所说的发布服务是要用在线数据来进行分析吗?网络分析是不支持iserver发布的交通网络分析服务。目前只支持本地数据和Online上面的数据,参考demo:OnlineDemo
9,192EXP 2019年07月30日
...