随笔 - 81  文章 - 1033  trackbacks - 0
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

在浮躁的年代里,我们进取心太切,患得患失;虚荣心太强,战战兢兢。一心争强好胜,惟恐榜上无名。
I think I can fly , and flying like a bird !
程序员一名,已售出,缺货中!

我的邮件联系方式

用且仅用于MSN

博客点击率
free web counter
free web counter

常用链接

留言簿(36)

随笔档案

搜索

  •  

积分与排名

  • 积分 - 185613
  • 排名 - 308

最新评论

阅读排行榜

评论排行榜

作者:CrespoShi,原文出处: http://www.blogjava.net/crespo9907/archive/2007/03/23/mapeasy_answer6.html,转载请保留。

山茶:
你好!
我想在双击时获得当前视图的bound,在双击事件中添加status = MapModel.bound;可是只是得到原始的bound

// 在地图上加入双击事件
MapEvent.addListener(map, MapEvent.DBLCLICK, function(e) {
 var coord = MapEvent.getEventCoord(e, map);
 var marker = new Marker(coord.getPoint(), Marker.LARGE);
 map.addOverlay(marker);
 marker.setInfo("Hello! it's marker: <a href=\"http://www.hymake.com\" target=\"_blank\">#" + marker.getId() + "</a>");
status = MapModel.bound;//添加
});
 
这是怎么回事,貌似我没有得到当前对象,具体怎么搞?谢谢兄弟!


        对于山茶的这个问题可能需要搞清楚这样几个概念:

      1. 在MapModel类中bound属性被当作一个类似于Java中的静态变量在使用(注意这里的实质其实和Java的静态变量完全不同,在内存中每个MapModel实例仍然有自己的一份bound代码和数据),而当前可视的区域其实是另外一个实例变量viewerBound。

      2. status = MapModel.bound;中直接使用MapModel是不对的,因为在创建地图对象时候new了一个MapModel实例:  this.mapModel = new MapModel(this.mapId);(见MapBuild.js)这个方法的MapModel实例也就是作为第一个参数传入的map。

      综上所述:这里应该由以下方法来得到当前区域。

      status = map.getViewerBound();

      最后提醒山茶一个问题,在设置或者取得某对象的私有属性时最好使用getX()/setX()方法,虽然在JavaScript中并没有私有变量的概念,并且无法直接定义作用域(虽然一些JavaScript高手用各种各样变通的方式实现了作用域),在编码过程中还是要遵循这些基本准则。

      JavaScript的语法和Java等比起来虽然显得不那么规范和严谨,单正是一些灵活的特性吸引了我们。但是在实际编码过程中还是要尽量遵循OO编程的基本准则,以免陷入“JS泥潭”。

      只能说以我的JS经验来看,它确实是一种很有意思,并且非常强大的语言,并不象很多人认为的拿不上台面,JS同样可以做复杂的应用,并且在熟手手里JS代码的产出效率也是异常高的。只是因为各方面的原因可能在调试和维护方面有些不尽人意之处,相信越来越多的业界厂商的关注会改变这种现状。现在不都已经有了很多非常优秀的IDE和浏览器插件吗?

      推荐两款JS开发相关的软件给大家:aptana,FireBug

      apatana作为一个基于Eclipse的优秀JS IDE对提高JS开发效率是无容置疑的,如果你使用Eclipse直接升级个插件就OK,如果你并不使用Eclipse,甚至你更本就不是一个Javaer,或者你根本就不是一个程序员而是设计师,也没关系。apatana想的很周到,你可以下载到安装版本,直接给你把精简的Eclipse也装了。不过你还是需要个JRE哦。

      FireBug作为FireFox下无敌的开发者插件相信大家也不会陌生,如果你还不知道只能说太可惜了,赶快用用吧,你会发现对调js和页面的效率不仅仅是提高几倍的问题。

      本来是回答山茶的问题,有点扯远了,呵呵。不过上面两款绝对值得推荐。它们的用法和教程我想google上很多了,至于它们的好处你用了就会知道。

      JavaScript绝对是2007最值得深入学习的语言之一!

      你还没有开始学习JavaScript?那你还在等什么?!
posted on 2007-03-23 23:36 cresposhi 阅读(2703) 评论(5)  编辑  收藏

FeedBack:
# re: MapEasy答疑(六) 取得地图当前Bound 2007-03-26 09:21 卖女孩的小火柴
沙发啊。。。。。
几百年难得在abc的博客里坐一次的啊
挖哈哈~~  回复  更多评论
  
# re: MapEasy答疑(六) 取得地图当前Bound 2007-03-26 11:38 颖颖
呵呵,等你呗,  回复  更多评论
  
# re: MapEasy答疑(六) 取得地图当前Bound 2007-03-26 13:05 cresposhi
呵呵,美女这么谦让啊!  回复  更多评论
  
# re: MapEasy答疑(六) 取得地图当前Bound 2007-03-27 13:49 山茶
感谢兄弟指导!!  回复  更多评论
  
# re: MapEasy答疑(六) 取得地图当前Bound 2007-03-27 20:31 cresposhi
客气客气,呵呵  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: