标签:
又是高度集中开发路径模块的一天。真希望自己以后都可以如此的专注和高效(虽然知道很难一直都保持这样的状态,我会坚持的~哈哈哈)
言归正传,今天开发了途径点的功能和改进了些相关起点、终点的代码。先说一下我近点遇到的几个主要的问题(最近遇到问题都会把问题手写在纸上,这样能让自己更好的专注于问题本身,能在最短的时间内解决问题并且方便现在写博客)
ctMenuForMap.addChild(menuItem = new MenuItem({ label: "设为途径点", onClick: function (evt) { var num = 0; flag ++; //falg为全局变量,目的是控制途径点的个数 var symbol; clearRoutes(); symbol = new PictureMarkerSymbol({ "width": 45, "height": 69, "type": "esriPMS" }); switch (flag) { case 1: symbol.url = "pathwayPoint1.png"; break; case 2: symbol.url = "pathwayPoint2.png"; break; case 3: symbol.url = "pathwayPoint3.png"; break; case 4: symbol.url = "pathwayPoint4.png"; break; case 5: symbol.url = "pathwayPoint5.png"; menuItem.disabled = true; break; } var graphic = new Graphic(geometryJsonUtils.fromJson(currentLocation.toJson()), symbol); routeParams.stops.features.push( map.graphics.add(graphic) ); editToolbar.activate(Edit.MOVE, graphic); pathwayPrve = graphic; for (var i = routeParams.stops.features.length-1; i>=0; i--) { if (routeParams.stops.features[i].symbol.url === "originPoint.png") { num++; } if (routeParams.stops.features[i].symbol.url === "endPoint.png") { num ++; } } if (num == 2){ routeTask.solve(routeParams, showRoute, errorHandler); } } }));
flag为全局变量,用flag的大小来控制途径点的个数,由于每个途径点的图片是不一样的,因此才用了switch语句。
解:命名menuItem = new MenuItem();然后在onClick里面用menuItem.disabled = true;来设置构造函数的属性。这样的话,当设置了5个途径点后再看菜单的话,途径点的选项就无法点击了。
editToolbar.activate(Edit.MOVE, graphic);
未完待续!
ArcGIS for JavaScript 关于路径开发的一些记录(二)
标签:
原文地址:http://www.cnblogs.com/daihere1993/p/4683642.html