码迷,mamicode.com
首页 > 编程语言 > 详细

ArcGIS for JavaScript 关于路径开发的一些记录(二)

时间:2015-07-28 20:19:19      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

   又是高度集中开发路径模块的一天。真希望自己以后都可以如此的专注和高效(虽然知道很难一直都保持这样的状态,我会坚持的~哈哈哈)

   言归正传,今天开发了途径点的功能和改进了些相关起点、终点的代码。先说一下我近点遇到的几个主要的问题(最近遇到问题都会把问题手写在纸上,这样能让自己更好的专注于问题本身,能在最短的时间内解决问题并且方便现在写博客)

  1、如何像百度地图一样把途径点的个数控制在五个以内。代码如下:

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语句。

2、如何在onClick函数(onClick函数为MenuItem的方法)里面设置MenuItem()构造函数的disabled属性。

解:命名menuItem = new MenuItem();然后在onClick里面用menuItem.disabled = true;来设置构造函数的属性。这样的话,当设置了5个途径点后再看菜单的话,途径点的选项就无法点击了。

技术分享


3、如何对移动起点、途径点和终点。

editToolbar.activate(Edit.MOVE, graphic);

4、移动之后如何触发路径的再建立。


未完待续!

ArcGIS for JavaScript 关于路径开发的一些记录(二)

标签:

原文地址:http://www.cnblogs.com/daihere1993/p/4683642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!