1. OpenLayers支持WMS应用,即Web地图服务。Mapinfo安装后在tomcat目录有一个wmsserver111的目录,这个目录就是mapinfo的WMS应用,也就是说mapinfo支持WMS,这样一来mapinfo和Openlayers的结合应用是可以实现的。
2. OpenLayers采用的是瓦片方式绘制地图,这些层不同于以前.mdf中定义的层,得打开mapinfo的管理用工具,打开原来的.mdf文件加载地图到管理器上,然后点击图层控制,打开控制窗口,选着一层点击下面的保存,保存为layers的命名资源,
3.部署应用,有两种办法:1.把mapinfo的服务和项目放在两个不同的tomcat中,当然的改变port,不能让二者有冲突。2.部署在同一个tomcat中,mapinfo的服务有两个,一个就是wmsserver111,另一个就是mapxtreme480,如果采用后者,的需要把wmsserver111中的web.xml文件中
<init-param> <param-name>providerURL</param-name> <param-value> http://A7239FF339644DF:8000/mapxtreme480/namedresource< /param-value> </init-param>
Port改和mapxtreme480的tomcat端口一致。那些保存的命名资源保存在mapxtreme480的mapxtreme480\resources\layers下面的。
4.在Openlayers定义切片tiled时候吧WMS的url写上mapinfo的wms即可,如:
map = new OpenLayers.Map('map', options); // setup tiled layer tiled = new OpenLayers.Layer.WMS("bount_line - Tiled", "http://localhost:8080/wmsserver111/servlet/wms", { width : '512', srs : 'EPSG:4326',//这个一定的是4326 layers : 'layers/world/xzqj,layers/world/lvdi,layers/world/shuixi,layers/world/gsgl,layers/world/sd,layers/world/gd', height : '416', styles : '', format : format, tiled : 'true', tilesOrigin : map.maxExtent.left + ',' + map.maxExtent.bottom }, { buffer : 0, displayOutsideMaxExtent : true }); map.addLayer(tiled);