将OpenLayers过滤器与Open Street Map一起用作基本层无法正常工作

将OpenLayers过滤器与Open Street Map一起用作基本层无法正常工作,openlayers,openstreetmap,layer,geoserver,Openlayers,Openstreetmap,Layer,Geoserver,我使用OpenStreetMap作为基础层,并通过来自geoserver的WFS协议添加和覆盖向量层。这是一个有很多点的图层。现在我想画多边形并选择多边形内的点。当我使用OSM基本层时,它不起作用: baseLayer=新的OpenLayers.Layer.OSMOpenStreetMap; map.addLayerbaseLayer; 但是,如果我使用 var wms=new OpenLayers.Layer.wms OpenLayers WMS,http://vmap0.tiles.osge

我使用OpenStreetMap作为基础层,并通过来自geoserver的WFS协议添加和覆盖向量层。这是一个有很多点的图层。现在我想画多边形并选择多边形内的点。当我使用OSM基本层时,它不起作用:

baseLayer=新的OpenLayers.Layer.OSMOpenStreetMap; map.addLayerbaseLayer; 但是,如果我使用

var wms=new OpenLayers.Layer.wms OpenLayers WMS,http://vmap0.tiles.osgeo.org/wms/vmap0, {层:基本} ; map.addLayerwms; 这是投影的问题吗,有什么建议吗?以下是图形多边形代码:

var图形=新OpenLayers.Layer.Vector; map.addLayerdrawings; var draw=new OpenLayers.Control.drawfeaturedraws,OpenLayers.Handler.Polygon; map.addControldraw; 绘制、激活; 绘图、事件等{ beforefeatureadded:函数事件{ var geometry=event.feature.geometry; HotelLayer.filter=新建OpenLayers.filter.Spatial{ 类型:OpenLayers.Filter.Spatial.INTERSECTS, 值:event.feature.geometry }; hotelsLayer.refresh{ 原力:对 }; 返回false; } };
当你说没用时,你是什么意思。不显示基础层。你不能再看到你的wfs层ect了。哦,我发现问题出在投影上,因为OSM使用的是不同的投影,所以相交函数不能正常工作,我转换成其他投影,然后它工作了。谢谢