在te的二次开发,在矢量图层中,可以存储属性信息,鼠标点击到图层中的对象,能够获取到单个对象的属性信息,但是在fly中的单个对象,只能获得到te中的基本属性信息,例如一个text标签,可以使用fly的信息树上名称标识,或者使用text标签上的文本,其它的一些信息都是基本属性,其实te中也提供了接口,可以给这些单个对象上添加自定义的属性信息,通过开发的接口,可以取到这些自定义的信息。
这些属性信息,需要开发的时候,先添加到fly中,保存在fly中,信息也就能够进行保存了。
具体的实现方式如下(C#):
//创建一个对象,对象中有set_ClientData,设置关键字和其中包含的内容,都是文本格式的
var hole =
sgworld.Creator.CreateHoleOnTerrain(sgworld.Creator.GeometryCreator.CreateGeometryFromWKT("POLYGON((6 6,11 6,11 11,6 11,6 6))"), string.Empty, "Hole on
terrain");
//这样就为对象添加了关键的内容信息
"关键字", "信息内容");
//通过get函数可以将内容中的信息取出来
var data = hole.get_ClientData("关键字");
这方式比较简单,就是需要在程序的开发过程中进行写入
在js中,写的方式不太一样
//直接是通过ClientData中的关键字等于的信息
hole.ClientData("关键字") = "信息内容";
// 通过ClientData将内容中的信息取出来
var data =
hole.ClientData("MyData");