zoukankan      html  css  js  c++  java
  • Iserver,Argis的WMS,WMTS单独调用地图,叠加地图,以及互相叠加地图

    iserver与arcgis的WMS地图叠加:(加载略慢)

    var map,url = "http://127.0.0.1:8090/iserver/services/map-sz_airport/wms130/PL_WS",
    url1 = "http://127.0.0.1:20060/arcgis/services/ZGSZ/ZT_Tile_ZGSZ_Normal_WGS1984/MapServer/WMSServer?request=GetMap&service=WMS"; map = new SuperMap.Map('map', { controls: [new SuperMap.Control.Zoom(), new SuperMap.Control.Navigation(), new SuperMap.Control.ScaleLine(), new SuperMap.Control.LayerSwitcher() ] }); wms1 = new SuperMap.Layer.WMS("WMS1", url, { // pl_ws layers: "0", transparent:true }, { opacity: 0.5, isBaseLayer:false, projection: "EPSG:4326", maxExtent: new SuperMap.Bounds(113.196882040895,22.374765831039696,114.38423590996099,22.8900827227597) });
    var layerStr = ""; for(var i=1;i<115;i++){ if(i == 114){ layerStr = layerStr+i; } else{ layerStr = layerStr+i+"," } } console.log(layerStr) wms2 = new SuperMap.Layer.WMS("WMS2", url1, { layers: layerStr,     transparent:true }, { //opacity: 1, isBaseLayer:true, //projection: "EPSG:4326", CRS:"EPSG:4326", maxExtent: new SuperMap.Bounds(113.196882040895,22.374765831039696,114.38423590996099,22.8900827227597) }); map.addLayer(wms2); map.addLayer(wms1); //map.addLayers([wms1,wms2]); var center = new SuperMap.LonLat(113.81,22.65); map.setCenter(center, 5);

    arcgis的wmts地图与iserver的wms地图叠加:(最推荐使用)

        var map, layer,url = "http://127.0.0.1:20060/arcgis/rest/services/ZGSZ/ZT_Tile_ZGSZ_Normal_WGS1984/MapServer/WMTS";
        map = new SuperMap.Map("map", {
            controls: [
                new SuperMap.Control.ScaleLine(),
                new SuperMap.Control.Zoom(),
                 new SuperMap.Control.MousePosition(),
                new SuperMap.Control.Navigation({
                    dragPanOptions: {
                        enableKinetic: true
                    }
                })]
        });
        //wmts或许所需要的matrixID信息
        var matrixIds = [];
        for (var i=0; i<resolutions.length; ++i) {
                matrixIds[i] = {identifier:i};
            };
        
        //当前图层的分辨率数组信息,和matrixIds一样,需要用户从wmts服务获取并明确设置,resolutions数组和matrixIds数组长度相同
         resolutions = [2.8553532069963363E-4,
                        1.4276766034981682E-4,
                        7.138383017490841E-5,
                        3.5691915087454204E-5,
                        1.7845957543727102E-5,
                        8.922978771863551E-6,
                        4.75892201166056E-6,
                        2.37946100583028E-6,
                        1.18973050291514E-6,
                        5.9486525145757E-7];
        //新建图层
        layer = new SuperMap.Layer.WMTS({
                name: "2DMAP_Gray",
                url: url,
                //layer: "ZT_Tile_ZGSZ_Normal_OGC_WGS84",
                layer: "ZT_Tile_ZGSZ_Normal_WGS1984",            
                style: "default",
                matrixSet: "default",
                format: "image/png",
                resolutions:resolutions,
                matrixIds:matrixIds,
                //opacity: 1,
                requestEncoding: "KVP",
                tileOrigin: new SuperMap.LonLat(113.196882040895,22.8900827227597),
                tileSize: new SuperMap.Size(256,256)
        });
        layer.isBaseLayer= true;
    var plUrl = "http://127.0.0.1:8090/iserver/services/map-sz_airport/wms130/" var allUrl = plUrl+"2DMAP_Pipeline"; var pl_all = new SuperMap.Layer.WMS("2DMAP_Pipeline", allUrl, { layers: "2DMAP_Pipeline", transparent:true }, { isBaseLayer:false, maxExtent: new SuperMap.Bounds(113.196882040895,22.374765831039696,114.38423590996099,22.8900827227597) }); //pl_ws,pl_gd,pl_ys,pl_js,pl_sy,pl_tx,pl_tr, map.addLayers([layer,pl_all]); map.setCenter(new SuperMap.LonLat(113.81033,22.63892), 3);

    arcgis的wmts地图与iserver的wmts地图叠加:(因resolutions参数无法达成一致,故地图有偏移,无法完美兼容)

     var map, layer,url = "http://127.0.0.1:20060/arcgis/rest/services/ZGSZ/ZT_Tile_ZGSZ_Normal_WGS1984/MapServer/WMTS";
        map = new SuperMap.Map("map", {
            controls: [
                new SuperMap.Control.ScaleLine(),
                new SuperMap.Control.Zoom(),
                new SuperMap.Control.MousePosition(),
                new SuperMap.Control.Navigation({
                    dragPanOptions: {
                        enableKinetic: true
                    }
                })]
        });
        //wmts或许所需要的matrixID信息
        var matrixIds = [];
        for (var i=0; i<resolutions.length; ++i) {
                matrixIds[i] = {identifier:i};
            };
        
        //当前图层的分辨率数组信息,和matrixIds一样,需要用户从wmts服务获取并明确设置,resolutions数组和matrixIds数组长度相同
         resolutions = [2.8553532069963363E-4,
                        1.4276766034981682E-4,
                        7.138383017490841E-5,
                        3.5691915087454204E-5,
                        1.7845957543727102E-5,
                        8.922978771863551E-6,
                        4.75892201166056E-6,
                        2.37946100583028E-6,
                        1.18973050291514E-6,
                        5.9486525145757E-7];
    
        //新建图层
        layer = new SuperMap.Layer.WMTS({
                name: "2DMAP_Gray",
                url: url,
                //layer: "ZT_Tile_ZGSZ_Normal_OGC_WGS84",
                layer: "ZT_Tile_ZGSZ_Normal_WGS1984",            
                style: "default",
                matrixSet: "default",
                format: "image/png",
                resolutions:resolutions,
                matrixIds:matrixIds,
                //opacity: 1,
                requestEncoding: "KVP",
                tileOrigin: new SuperMap.LonLat(113.196882040895,22.8900827227597),
                tileSize: new SuperMap.Size(256,256)
        });
        layer.isBaseLayer= true;
        
        resolutions1 = [3.0183393546415926E-4,
                        1.5091696773207963E-4,
                        7.545848386603981E-5,
                        3.772924193301991E-5,
                        1.8864620966509953E-5,
                        9.432310483254977E-6,
                        5.030565591069321E-6,
                        2.5152827955346606E-6,
                        1.2576413977673303E-6,
                        6.288206988836651E-7];
                        
        var url1 = "http://127.0.0.1:8090/iserver/services/map-sz_airport/wmts100"
    
        var layer1 = new SuperMap.Layer.WMTS({
            name: "World",
            url: url1,
            layer: "PL_GD",
            style: "default",
            matrixSet: "Custom_PL_GD",
            format: "image/png",
            resolutions: resolutions1,
            matrixIds: matrixIds,
            opacity: 1,
            requestEncoding: "KVP",
            tileOrigin:new SuperMap.LonLat(113.196882040895,22.8900827227597),
            tileSize: new SuperMap.Size(256,256)
        }); 
        map.addLayers([layer,layer1]);
        map.setCenter(new SuperMap.LonLat(113.81033,22.63892), 3);    
  • 相关阅读:
    年近30,朋友聚会都聊什么?
    2016世界最热门的编程语言与薪资揭秘
    程序员的春天来了,最美赏花旅游地十大攻略
    雄联盟工程师独家分享:如何使开发更有效率
    小偷被抓叫嚣:我不偷警察没饭吃
    3.7女生节:被程序员男友送的奇葩礼物宠哭了
    最适合程序员加班吃的6大营养美食
    谷歌汽车出误判曝光 6大奇葩科技更牛
    【程序员的爱情】彼岸花开谁又种下了执念
    分享10个免费或便宜的Photoshop替代工具
  • 原文地址:https://www.cnblogs.com/wanlige/p/14266136.html
Copyright © 2011-2022 走看看