cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1987回复:9

[求助]drawshape问题

楼主#
更多 发布于:2004-10-27 14:36
<P>我用drawshape画了一个图形对象,我跳到另一个窗体后,再返回来发现,那个图形对象还在</P>
<P>该如何清除呢?</P>
<P>谢谢!~~</P><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
喜欢0 评分0
kmxl
路人甲
路人甲
  • 注册日期2004-10-30
  • 发帖数94
  • QQ
  • 铜币294枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-11-04 23:29
<img src="images/post/smile/dvbbs/em09.gif" />
举报 回复(0) 喜欢(0)     评分
berush
路人甲
路人甲
  • 注册日期2003-12-01
  • 发帖数158
  • QQ
  • 铜币622枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-11-04 09:18
<P>mapobjects2.point point ;</P><P>point = Map.tomappoint(x,y);</P><P>map.trackinglayer.addevent(point,0);</P><P>就这样~</P>
举报 回复(0) 喜欢(0)     评分
cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-11-03 10:23
<DIV class=quote><B>以下是引用<I>袁绍伦</I>在2004-10-29 8:27:25的发言:</B>

<P>DrawShape 是给地图添加 Shape ,即使所有的图层都没有了,这个Shape还是有的,原因地图还存在,要想搞定它,就需要在Draw事件里做些处理,比如标识出不该DrawShape的状态,然后地图刷新的时候不DrawShape,或者以相反的颜色和状态在原来的位置上重绘一边,就可以抹去视觉上的效果。</P>
<P>另外,AddEvent 方法可以添加点,而且效果很棒!</P></DIV>
<P>AddEvent方法添加点,用什么呢?trackCircle?Polygon?</P><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
ryx32
路人甲
路人甲
  • 注册日期2003-08-05
  • 发帖数457
  • QQ
  • 铜币4046枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-11-01 12:23
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2004-10-29 09:54
用RemoveGeo把Trackinglayer中的图元移了就不会画啦!
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
袁绍伦
路人甲
路人甲
  • 注册日期2003-08-08
  • 发帖数654
  • QQ164646905
  • 铜币1336枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2004-10-29 08:27
<P>DrawShape 是给地图添加 Shape ,即使所有的图层都没有了,这个Shape还是有的,原因地图还存在,要想搞定它,就需要在Draw事件里做些处理,比如标识出不该DrawShape的状态,然后地图刷新的时候不DrawShape,或者以相反的颜色和状态在原来的位置上重绘一边,就可以抹去视觉上的效果。</P><P>另外,AddEvent 方法可以添加点,而且效果很棒!</P>
愿意和大家交朋友! QQ:47559983 MSN:shaolun_yuan@hotmail.com eMail:shaolun-yuan@163.com
举报 回复(0) 喜欢(0)     评分
cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2004-10-29 08:02
<P>可是trackinglayer层只能绘制trackcircle;trackline;</P><P>trackpolygen;trackrectangle四种。要是画点怎么办?</P>
举报 回复(0) 喜欢(0)     评分
森森特
路人甲
路人甲
  • 注册日期2004-10-23
  • 发帖数10
  • QQ
  • 铜币146枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2004-10-28 17:00
你调用drawshape来绘制图形肯定是在图层的Draw事件函数里面,你切换到其他窗口再回来的时候,你的程序又重新执行了drawshape操作,所以是删除不掉的!


我觉得按照你的想法来实现此功能的话,应该用TrackingLayer图层的AddEvent来绘制,就会满足你的要求了!在不需要显示的时候调用TrackingLayerl图层的ClearEvents来清除!
<a href="http://www.863s.com"><img src="http://www.863s.com/bbs/images/logo.jpg" border="0"></a><br>
中国3S网站——<a href="http://www.863s.com">http://www.863s.com</a><br>
中国3S论坛——<a href="http://bbs.863s.com">http://bbs.863s.com</a>
举报 回复(0) 喜欢(0)     评分
berush
路人甲
路人甲
  • 注册日期2003-12-01
  • 发帖数158
  • QQ
  • 铜币622枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2004-10-27 15:16
<P>顶,楼主的问题应该和我的遇到的差不多。</P><P>比如我drawshape(recordset,sym)完后,会画出recordset对应的对象。</P><P>然后我把所有图层都移除掉,但是刚才画出的对象还是存在,这是不应该的。</P><P>除非把recordset = null。</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部