WEB开发网
开发学院网页设计JavaScript 得到某点的缓冲区并画圆 阅读

得到某点的缓冲区并画圆

 2009-09-06 00:00:00 来源:WEB开发网   
核心提示: 以上代码需要明确以下方面: 1.setcircle函数传入的参数是一个对象,为什么要传入对象而不直接传入字符串参数呢?因为传入对象可以允许调用这个方法的人只写要传入的参数即可,得到某点的缓冲区并画圆(3),不需要每个参数都传, 2.传入的对象参数里的属性又包含一个对象,objCircle.sty

以上代码需要明确以下方面:

1.setcircle函数传入的参数是一个对象。为什么要传入对象而不直接传入字符串参数呢?因为传入对象可以允许调用这个方法的人只写要传入的参数即可,不需要每个参数都传。

2.传入的对象参数里的属性又包含一个对象。args.circleProp就是一个对象,它主要是传入一些将要画的圆的一些额外的属性,如你可以传入它的KEY,这样如果你画了若干个圆,就可以根据这个值来得到它更详尽的属性了。 3.displayed_circle是webmap的全局数组,用于保存每个圆对象。画线接口完成后,就可以在地图刷新完返回地图的状态后调用如下函数来画线,用到了VML技术, 如下:

Js代码  

 //地图刷新完画圆(缓冲区时用) 
 _RefreshCircle: function(){ 
 document.getElementById('frontMap').innerHTML = ''; 
 for(var i=0;i<this.displayed_circle.length;i++){ 
  var o = this.displayed_circle[i]; 
  var objCircle = document.createElement("v:oval"); 
  var scale = this.getScale(); 
  objCircle.style.width = o.width*100000*scale; 
  objCircle.style.height = o.height*100000*scale; 
  objCircle.style.left = (webmap.getMap().toScreenX(o.left)-o.width*100000*scale/2)+'px';//定位以左上角来定 
  objCircle.style.top = (webmap.getMap().toScreenY(o.top)-o.height*100000*scale/2)+'px'; 
  objCircle.style.opacity = 0.8; 
  objCircle.style.filter = 'alpha(opacity=80)'; 
  objCircle.style.fillcolor = '#99cccc'; 
  objCircle.id = "objCircle"; 
  objCircle.strokecolor = o.showColor; 
  if(o.showTitle) 
  objCircle.onmouseover = o.showTitle; 
  if(o.clickFun) 
  objCircle.onmousedown = o.clickFun; 
  if(o.circleProp) { 
  for(var key in o.circleProp){ 
   circleProp[key] = o.circleProp[key]; 
  } 
  } 
  document.getElementById("frontMap").appendChild(objCircle); 
 } 
 },

以上代码需要明确以下方面:

1.frontMap是地图div上的内的一个div,首先先把它清空,用innerHMTL=''来实现。

2.然后循环遍历displayed_circle数组,得到每一个圆对象的属性,放到VML建立好的圆元素里。

3.最后通过appendChild()把每个圆元素加到DIV进来。

4.这里要注意的是:objCircle.style.width,objCircle.style.height,objCircle.style.left,objCircle.style.top这四个值需要做相应地转化。

5.用如下方法把圆的属性增加进来:    for(var key in o.circleProp){     circleProp[key] = o.circleProp[key];    }   

注:这里不能用circleProp.key

上一页  1 2 3 

Tags:得到 缓冲区

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接