第一节.点位标注

效果 采用 primitives  标注,不用enitnes

1数据循环

var ak_left1_ce_option = {
	gztArr: [],
	init: function() {
		// 标记
		ak_left1_ce_option.getWrData();
		
	},
    getWrData: function() {
		var temp = {};
		var options = new Object();
		options.url = "/manage-api/baseDaiDiao/dkXiang";
		options.type = "GET";
		options.data = temp;
		options.errorback = akglobe_config.errBack;
		options.callback = function(data) {
			if (!data) return;
			console.log(data);
			var rows = data.rows;
			ak_left1_ce_option.top4CallBack(rows);
		}
		akglobe_config.ajaxQuery(options);
	},
   

}

2标注

top4CallBack: function(data, type) {
		ak_left_click1.clearTop4(); // 清除标记
		// 清除光环
		if (ak_commonQuery.waveCircleArr) {
			ak_commonQuery.clear();
		}
		var result = data;
		this.labels = viewer.scene.primitives.add(new Cesium.LabelCollection());
		var bid = new Cesium.BillboardCollection();
		this.billboards = viewer.scene.primitives.add(bid);
		for (var i = 0; i < result.length; i++) {
			var db = result[i];
			var obj = new Object();
			var id = db.id;
			obj.id = "ztqgGj;" + config.addtypemarker.ceccXm + ";" + db.projectName + ";" + id + ";" + db
				.projectId;
			obj.name = db.projectName; // 项目名称
			obj.address = db.countryname;
			obj.lat = db.longitude;
			obj.lng = db.latitude;
			obj.projectId = db.projectId;

			var isxy = config.isXyobj(obj.lat, obj.lng);
			if (!isxy) {
				continue;
			}
			var src = config.markerImgProejct; //mark2
			obj.src = src;
			obj.width = config.markerImgProejctWidth;
			obj.height = config.markerImgProejctHeight;
			obj.addtypemarker = config.addtypemarker.ceccXm;
			var position1 = Cesium.Cartesian3.fromDegrees(obj.lat, obj.lng, 0);
			var attributes1 = obj;
			var rario = 200000;
			var gggzztt = null;
			
			ak_pm_tool.addPoint(this.billboards, obj);
		}
}

  标注设置图片样式

    使用变量配置 图标地址   方便统一管理

      使用变量配置 图标大小   方便统一管理

            var src = config.markerImgProejct;
            obj.src = src;
            obj.width = config.markerImgProejctWidth;   //宽度
            obj.height = config.markerImgProejctHeight;  //高度 4

设置点击时候被识别的规则 ceccXm 这个配置变量代表了业务类型,后面的参数可自行定义,点击的时候可获取。

obj.id = "ztqgGj;" + config.addtypemarker.ceccXm + ";" + db.projectName + ";" + id + ";" + db
                .projectId;

   这个方法将这个对象加入到billboards数组集合内;清除的时候清除billboards 这个集合即可。

    ak_pm_tool.addPoint(this.billboards, obj);
 
        

3点击

①:在标注的地方写好一个标记id       例: config.addtypemarker.ceccXm

②在popu.js中写相对应的id,点击后所想调用的方法。 

 ak_left_click1.showPopuProject(properties,position,type);

 ③在方法中写点击标注后的效果。

代码如下:

  鼠标划过type=2; 等于1是点击。获取参数进行处理业务   

showPopuProject: function(properties, position, type) {
		var info = "";
		if (type == 1) {
			//大洲的业务  调用  展现项目信息
			// ak_right_continent.init();
			var id = properties.id;
			var projectId = properties.address;
			// alert(id+" "+projectId);
			var db = {
				id: id,
				projectId: projectId,
			};
			akglobe_config.setDDoptions(db, 'ak_jwxmDetails'); // 设置要传递的参数
			window.open(ak_config.tm_urm + '../business/ak_business/html/ak_ztqygl_jwxm/ak_jwxmDetails.html');
		} else if (type == 2) {
			var name = "";
			var address = "";
			if (properties.name) {
				name = properties.name;
			} else if (properties.NAME) {
				name = properties.NAME;
			}
			var address = !properties.address ? "" : properties.address;
			//info += '<div>基本信息</div>';
			info += name; // '<br>地址:' + address + '</div>'
			geo_tooltip_div.showAt(position, info);
		}
	},
 

4清除

clearObject: function() {
		viewer.scene.primitives.remove(this.billboards);
		viewer.scene.primitives.remove(this.labels);
		for (var i = 0; i < this.gztArr.length; i++) {
			var objEntine = this.gztArr[i];
			objEntine.destroy();
		}
	},

清除点和文本的集合  

    viewer.scene.primitives.remove(this.billboards);
    viewer.scene.primitives.remove(this.labels);

清除光环。如果存在的话:。如果没有光环不报错即可,保障这个变量存在即可,或者光锥

如果没有在标注点位的时候做光环可以删除这个代码;

    for (var i = 0; i < this.gztArr.length; i++) {
            var objEntine = this.gztArr[i];
            objEntine.destroy();
    }

4.1 注册到清除所有内

在清除所有的时候,需将这个清除的方法置入到clearbuiness内

这个清除会在ak_nav.clearall 内调用

调用 这个ak_init   类   。这个类的清除方法 聚合 了所有可标注的方法。及所有的标注的方法,点线面以及echarts和地图结合的效果 ,都需将清除的方法注册在这方法内:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

akglobe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值