如何将查询得到的点作为最优路径分析中的结点?

0 投票

function findPath() {
                drawPoint.deactivate();
                drawPoint2.deactivate();
                var findPathService, parameter, analystParameter, resultSetting;
                resultSetting = new SuperMap.REST.TransportationAnalystResultSetting({
                    returnEdgeFeatures: true,
                    returnEdgeGeometry: true,
                    returnEdgeIDs: true,
                    returnNodeFeatures: true,
                    returnNodeGeometry: true,
                    returnNodeIDs: true,
                    returnPathGuides: true,
                    returnRoutes: true
                });
                analystParameter = new SuperMap.REST.TransportationAnalystParameter({
                    resultSetting: resultSetting,
                    weightFieldName: "PRICE"
                });
                parameter = new SuperMap.REST.FindPathParameters({
                    isAnalyzeById: false,
                    nodes: nodeArray,
                    hasLeastEdgeCount: false,
                    parameter: analystParameter
                });

这样设置没有作用.求指点!

7月 18, 2017 分类:  396次浏览 | 用户: Qin Tong (4 分)

1个回答

1 投票
 
已采纳
请问控制台有报错吗?

检查一下你的nodearry里面是否有加入到点
7月 19, 2017 用户: 郑雅琳 名扬四海 (1,600 分)
采纳于 7月 19, 2017 用户:Qin Tong

                parameter = new SuperMap.REST.FindPathParameters({
                    isAnalyzeById: false,
                    nodes: nodeArray,
                    hasLeastEdgeCount: false,
                    parameter: analystParameter
                });
                if (nodeArray.length <= 1) {
                    alert("站点数目有误");
                }
                findPathService = new SuperMap.REST.FindPathService(url2, {
                    eventListeners: { "processCompleted": processCompleted }
                });
                findPathService.processAsync(parameter);
            }

            function processCompleted(findPathEventArgs) {
                var result = findPathEventArgs.result;
                allScheme(result);
            }

控制台这个错误不知道是为何,代码在上面

这个报错是说length这个属性未定义,你检查一下你使用length属性的对象是否有length的属性
可是这个length属性是pathlist对象数组的length哎

这个pathlist是返回的路径数组呀,应该是有length属性的吧

难道是没有获得pathlist数组吗?
你检查一下你的pathlist是否有值,并且输出检查下你的返回的结果是怎样的?是不是返回的结果为空啊
...