Mapinfo 与OpenLayers 的结合

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改和mapxtreme480tomcat端口一致。那些保存的命名资源保存在mapxtreme480mapxtreme480\resources\layers下面的。

4.Openlayers定义切片tiled时候吧WMSurl写上mapinfowms即可,如:


  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);

 

转载自:https://blog.csdn.net/ning947/article/details/83565808

You may also like...