我使用OpenLayers3创建了一个地图,其中包含两个图层。第一层是Open Street Map Layer,第二层是由Map Server提供的WMS图层。
问题- 当我渲染第一层时,它会正确地渲染,没有问题。但是当我渲染第二层(由地图服务器提供)时,它会不正确地渲染,意味着它不适合其容器,并且在位置上与第一层不同步。请参见this snapshot中的地图截图以获得更多澄清。在快照中,顶部图层是由地图服务器提供的wms层。
请帮助我找出问题所在。WMS请求格式或地图文件是否存在问题?
问题- 当我渲染第一层时,它会正确地渲染,没有问题。但是当我渲染第二层(由地图服务器提供)时,它会不正确地渲染,意味着它不适合其容器,并且在位置上与第一层不同步。请参见this snapshot中的地图截图以获得更多澄清。在快照中,顶部图层是由地图服务器提供的wms层。
同时当我缩放或移动地图时,两个图层都能正常工作,但几秒钟后第二个图层(来自地图服务器的wms图层)会再次切换回其初始位置(在上面附加的快照中显示的位置)。
这是我用来使用wms服务的代码。
var layer = new ol.layer.Image({
source: new ol.source.ImageWMS({
url: 'http://localhost:19090/rasters/world/wms',
params: {
'LAYERS': 'world',
'mode': 'map',
},
serverType: 'mapserver'
})
});
这是我的地图文件。
地图 名称 "世界" 配置 "MS_ERRORFILE" "/home/neelesh/Projects/georbis/data/logs/mapservice_errors.log" 配置 "PROJ_LIB" "/home/neelesh/Projects/georbis/deps/proj.4-master/share/proj" 配置 "ON_MISSING_DATA" "LOG" 调试 5 范围 -180.000 -90.000 180.000 90.000 形状路径 "/home/neelesh/Projects/georbis/data/service_data/data/wms" 图像颜色 255 255 255 尺寸 1350 675我尝试使用ol.view.fit方法将图层适应其容器,但是该图层的layer.getExtent()值为未定义。
网络 元数据 "wms_title" "Georbis WMS服务器" "wms_author" "VizExperts" "wms_onlineresource" "http://192.168.1.36:19090/rasters/world/wms?" "wms_enable_request" "*" "wms_srs" "EPSG:4326 EPSG:3857" "wms_feature_info_mime_type" "text/html" "wms_format" "image/jpg" 结束 结束
投影 "init=epsg:4326" 结束
图层 名称 世界 类型 RASTER 数据 "world.tif" 元数据 "wms_title" "BlueWorld地图" "wms_srs" "epsg:4326" "wms_server_version" "1.1.1" 结束 投影 "init=epsg:4326" 结束 结束 结束
请帮助我找出问题所在。WMS请求格式或地图文件是否存在问题?