当前位置: 代码迷 >> GIS >> Openlayers 运用WFS添加到数据库一个点,怎样才能显示在页面?
  详细解决方案

Openlayers 运用WFS添加到数据库一个点,怎样才能显示在页面?

热度:492   发布时间:2016-05-05 06:22:21.0
Openlayers 使用WFS添加到数据库一个点,怎样才能显示在页面?急!!!!!!!!!
急求各位, Openlayers


1、使用WFS添加一个点到数据库后,进行刷新可以显示出新添加的那个点,但是怎么样才能不刷新就显示出来呢?使用过layer.redraw();  不管用,我使用new OpenLayers.Layer.WMS载入的。求具体方法啊。试过删除图层也不管用。



        2、直接在数据库一个点,但是怎么让浏览器显示出来呢?浏览器关掉再开也不管用,怀疑是没有重新加载wms的原因,请问大家这个应该怎样解决啊? 应该是被缓存了,,,进入geoserver 平台,点击“载入”再次刷新页面就出现那个点了。。。。



大家有遇到过这种情况的没?都是怎么解决的?
------解决方案--------------------
看了楼上给的信息感觉楼主你需要的是不是只刷新一下你的“tiled” 这个layer呀?用“layer.redraw(true)”这个方法可以刷新指定的layer. 

图层刷新的官方介绍:
http://dev.openlayers.org/apidocs/files/OpenLayers/Layer-js.html#OpenLayers.Layer.redraw
------解决方案--------------------
另外如果用vector layer的话你可以尝试用marker (http://dev.openlayers.org/docs/files/OpenLayers/Marker-js.html). 你点击相应的marker 就可以在“点”的旁边显示出字来

这个是官方例子:

 var map, layer;

        function init(){
            OpenLayers.ProxyHost="/proxy/?url=";
            map = new OpenLayers.Map('map');
            layer = new OpenLayers.Layer.WMS( "OpenLayers WMS", 
                "http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'} );
                
            map.addLayer(layer);
            map.setCenter(new OpenLayers.LonLat(0, 0), 0);

            var newl = new OpenLayers.Layer.Text( "text", { location:"./textfile.txt"} );
            map.addLayer(newl);

            var markers = new OpenLayers.Layer.Markers( "Markers" );
            map.addLayer(markers);

            var size = new OpenLayers.Size(21,25);
            var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
            var icon = new OpenLayers.Icon('http://www.openlayers.org/dev/img/marker.png',size,offset);
            markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(0,0),icon));

            var halfIcon = icon.clone();
            markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(0,45),halfIcon));

            marker = new OpenLayers.Marker(new OpenLayers.LonLat(90,10),icon.clone());
            marker.setOpacity(0.2);
            marker.events.register('mousedown', marker, function(evt) { alert(this.icon.url); OpenLayers.Event.stop(evt); });
  相关解决方案