问题描述
本人目前正在学习webGis的东西。目前在一个功能处花费了挺长时间,不知进来的各位谁能为我指点一下。使用的是javascript+openLayers,功能是在地图上显示车,车是一张图片,数据存储在后台数据库。比如有两台车,车的id为001和002。分别查询这两台车,查询完第二台车过后,在地图上还能显示第一台车,类似历史记录。调用openLayers的什么函数能够清楚第一台车的图片?我试过用feature.destroy()方法和Vector.removeFeatures()、Vector.destroyFeatures()方法都不起作用,第一次图片还是存在。谢谢大家了,祝大家牛年行大运,事事顺心!
解决方案
解决方案二:
貌似这些接口是修改数据要素的,而不是操作查询显示效果的。是否可以查找一下关于清楚高亮之类的接口,另外一般这样的查询高亮不是把两个对象高亮的效果放在一个图层上吧?可以看看高亮的实现,如果可以的话。是否可以绕过去,再查询一次第二个对象,刷新下地图,效果也是一样的。
解决方案三:
清楚高亮和车的图片是一会事吗,不清楚,不过还是对于你临晨还回复我的帖子深表感谢,注意身体啊楼上的兄弟。
解决方案四:
全面仔细的看看openlayers库结构,应该能搞定的。我没弄过
解决方案五:
可以增加一个“车”图层,第一次查询在“车”层里面显示第一辆车的结果,然后调用车.destroyFeatures()函数第二次查询再显示第二辆车的查询结果希望对你有帮助
解决方案六:
mark
解决方案七:
没有看明白楼主到底是怎样做的。标准做法是这样的:为GPS车辆创建一个图层,Geometry类型为Point。WMS图层需要刷新全图(不推荐),WFS图层可以在客户端动态刷新(选它)。你操作的图片仅仅是Point的样式,交给openLayers自己管理即可。只要Point的坐标变化,图片位置自然会变。
解决方案八:
该回复于2012-02-27 11:04:23被版主删除
解决方案九:
该回复于2012-02-27 14:24:49被版主删除