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); });
markers.addMarker(marker);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
halfIcon.setOpacity(0.5);